Reply-To标头未选择php变量


Reply-To header not picking the php variable

我正在创建一个页面,从邮件中的联系人表单发送响应,但reply-to不起作用(我使用的变量有值,但没有添加在标题中)

这是我的代码:

<?php
//$uname=$_REQUEST['uname'];
if(isset($_REQUEST['name']))
{
    $name=$_REQUEST['name'];
}
if(isset($_REQUEST['email']))
{
    $email=$_REQUEST['email'];
}   
if(isset($_REQUEST['phone']))
{
    $phone=$_REQUEST['phone'];
}
if(isset($_REQUEST['message']))
{
    $message=$_REQUEST['message'];
}
// TESTING IF VARIABLES HAVE VALUES
echo "$name $email $phone $message";
// RESULT: TRUE TILL HERE

if($name=="" || $email=="" || $phone=="" || $message=="")
{
    header("location:../?inst=invalid");    
}
else
{
    // ---------------- SEND MAIL FORM ----------------
// send e-mail to ...
$to="mail@example.com";
// Your subject
$subject="$name Contacted you via Contact Form";
// From
$headers  = "From: ME <no-reply@example.com>'r'n";
$headers .= 'Reply-To:' . $email . "'r'n";
$headers .= "Return-Path: info@example.com'r'n";
$headers .= "X-Mailer: PHP'n";
$headers .= 'MIME-Version: 1.0' . "'n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "'r'n"; 
print $message;
// send email
$sentmail = mail($to,$subject,$message,$headers);
//$sentmail = mail($to1,$subject,$message,$header);
}
// if your email succesfully sent
if($sentmail){
echo "Mail Sent.";
}
else {
    header("location:../landing/?status=verification-pending");
    }
?>

现在,当我在gmail中检查邮件头时,$email的值不会出现在邮件头信息中,也不会收到任何消息。我得到的只是一条空白消息,或者可能是$message没有打印任何类似于我在回复时面临的情况。

请帮我一点忙。提前谢谢。

检查您是否启用了php警告和通知。当你回显$name、$email等时,你是在使用之后的头进行重定向。如果你的php注意到etc没有打开,你的头重定向将失败,因为你已经响应了一些东西,你不会知道你有无效的输入。这也是您不应该在逻辑过程中回显内容,而应该稍后存储和输出值的部分原因。

实际上上面的代码有一个小错误。我在比较时错误地添加了=而不是==

此行:

if($name=="" || $email="" || $phone="" || $message="")

应读作:

if($name=="" || $email=="" || $phone=="" || $message=="")

由于=用于等式而不是比较== 的条件

在问题中修复了它