邮件发送但不提交?

时间:2016-08-01 18:10:03

标签: php email

我是这里的PHP新手。我有一个发送邮件脚本,如下所示:

$to      = 'example@email.com';
$from    = 'noreply@email.com';
$subject = 'Test Submission';
$message = 'This is just another test.';
$headers = 'From: example@email.com' . "\r\n" .
// 'Reply-To: example@email.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

此脚本正常工作,并在加载页面时发送电子邮件。问题是,当我改变脚本时,只有在单击“提交”按钮之前才提交表单,然后突然间什么都不起作用了。这是我一直在尝试使用的改进代码(这似乎与PHP网站建议的一致):

if(isset($_POST['submit'])){
    $to      = 'example@email.com';
    $from    = 'noreply@email.com';
    $subject = 'Test Submission';
    $message = 'This is just another test.';
    $headers = 'From: example@email.com' . "\r\n" .
    // 'Reply-To: example@email.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
    }

1 个答案:

答案 0 :(得分:0)

确保您表单上的提交按钮具有NAME属性。该NAME属性的值是发送到服务器的值,因此:

<input type="submit" name="btnSubmit" value="Go!">

...会产生这个变量和值:

$_POST["btnSubmit"] = "Go!";

...你会这样检查:

if(isset($_POST["btnSubmit"]))
{
  ...
}