【问题标题】:Why does this only work once?为什么这只工作一次?
【发布时间】:2016-07-26 01:07:14
【问题描述】:

我正在尝试整理一个简单的反馈表,它使用 PHP 将结果通过电子邮件发送给我们。该脚本运行一次,我们按预期收到电子邮件..但每次之后,都没有电子邮件,也没有错误。有人知道为什么吗?

    <?php


$email_to = "admin@urbansushi.com";

$name = $_POST['name']; // required

$email = $_POST['email']; // required

$date = $_POST['date']; // required

$email_subject = "New feedback from CUSTOMER";






$email_message .= "Name: ".clean_string($name)."\n";

$email_message .= "Date of Visit: ".clean_string($date)."\n";

$email_message .= "Email: ".clean_string($email)."\n";

    // create email headers


$headers = 'From: '.$email."\r\n".

'Reply-To: '.$email."\r\n" .

'X-Mailer: PHP/' . phpversion();

@mail($email_to, $email_subject, $email_message, $headers);  


?>

【问题讨论】:

  • 如果您使用 @mail 函数是否有错误?
  • @chris85 不,没有错误,但结果也没有变化。
  • @TimKaye 你说它只工作一次。什么事件会重置它,使其只能(再次)工作一次?
  • @BeetleJuice 上周我开始这样做时,一旦我将 php 文件重新上传到主机,它就会再次工作。今天我无法让它再次工作。它连续工作了两次,然后我尝试过的任何方法都没有让它再次工作。

标签: php forms


【解决方案1】:

您正在连接到 $email_message 但最初没有声明它:

$email_message .= "Name: ".clean_string($name)."\n";

尝试添加这个

$email_message = "";
$email_message .= "Name: ".clean_string($name)."\n";

您的 php 声明之前还有空格 - 尝试将其删除,以便 php 声明位于文件的开头

&lt;?php

【讨论】:

  • 没有变化。此外,还有一条成功消息位于 php 代码之外,也没有显示。
  • code $headers = '发件人:'.$email."\r\n"。 '回复:'.$email."\r\n" 。 'X-Mailer: PHP/' 。 php版本();邮件($email_to,$email_subject,$email_message,$headers); ?> 感谢您的反馈!您现在将被重定向到 Urban Sushi 网站。
猜你喜欢
  • 1970-01-01
  • 2012-03-09
  • 2011-04-07
  • 1970-01-01
  • 2012-09-21
  • 2019-10-08
  • 2021-12-27
  • 2017-05-29
  • 2021-03-30
相关资源
最近更新 更多