Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 回复标题未选取php变量_Email_Header_Php - Fatal编程技术网

Email 回复标题未选取php变量

Email 回复标题未选取php变量,email,header,php,Email,Header,Php,我正在创建一个页面,该页面从邮件中的联系人表单发送响应,但回复到不起作用(我使用的变量有值,但未添加到标题中) 这是我的密码: <?php //$uname=$_REQUEST['uname']; if(isset($_REQUEST['name'])) { $name=$_REQUEST['name']; } if(isset($_REQUEST['email'])) { $email=$_REQUEST['email']; } if(isset($_REQU

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

这是我的密码:

<?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通知等没有打开,您的头重定向将失败,因为已经回显了一些内容,您将不知道您有无效的输入。这是您不应该在逻辑期间回显内容的部分原因,但应该在以后存储并输出值。

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

这一行:

if($name=="" || $email="" || $phone="" || $message="")
应改为:

if($name=="" || $email=="" || $phone=="" || $message=="")
因为
=
用于等式,而不是用于比较的条件
=


在问题中修复了它

这不会解决您的问题,但是您可以通过简单地使用
if(isset($\u POST['submit'])
并将提交按钮命名为“submit”来避免所有这些
if-isset
然后把变量放在下面,我想在你开始写东西到输出后,你不能在头上设置任何东西。您的
echo
会写入输出。所以把标题设置放在前面。哦,好主意@Fred ii-我会用它。你的回复行在冒号和电子邮件地址开头之间缺少空格。@SaurabhSharma Plus,它甚至可以部分解决你的问题。您甚至可以使用此代码段获取所有POST值=>
foreach($\u POST as$key=>$value){$message.=$key.:“$value.\n”;}
Yup@Zak我知道,我只是用它来测试:)