【问题标题】:I don't get why my form isn't working [duplicate]我不明白为什么我的表格不起作用[重复]
【发布时间】:2014-12-12 21:00:31
【问题描述】:

我的代码在几分钟前确实有效。 我没有改变任何东西,我只是再次尝试测试,现在没有任何效果。 我只是想做一个非常简单的电子邮件表格:

HTML

<form action="mail.php" method="post" id="inscription">
    <input name="nom" type="text" id="nom" placeholder="Nom">
    <input name="prenom" type="text" id="prenom" placeholder="Prénom">
    <input name="email" type="email" id="email" placeholder="E-mail">
    <input name="tel" type="tel" id="tel" placeholder="01.23.45.67.89">
    <input name="company" type="text" id="company" placeholder="Nom de l'entreprise">
    <input name="nb-personne" type="text" id="nb-personne" placeholder="Nombre de personne">
    <textarea name="comment" cols="15" rows="6" id="comment"></textarea>
    <input type="submit" name="Submit" value="JE M'INSCRIS*" class="submit">
</form>

PHP

$ToEmail = 'ptusseau@histrasbourg.com'; 
$EmailSubject = 'Inscription SOIREE BRESILIENNE<hr/>'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .="MIME-Version: 1.0\r\n";
$mailheader .="Content-type: text/html; charset=utf=8\r\n";

$MESSAGE_BODY = "Nom: ".$_POST["nom"]."";
$MESSAGE_BODY .= "Prénom: ".$_POST["prenom"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Tél: ".$_POST["tel"].""; 
$MESSAGE_BODY .= "Entreprise: ".$_POST["company"].""; 
$MESSAGE_BODY .= "Nombre de personne: ".$_POST["nb-personne"]."";
$MESSAGE_BODY .= "Commentaire: ".nl2br($_POST["comment"])."";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader); 

// METTRE UN MERCI.HTML 
include("merci.html");
exit(0);

我想制作一封简单的电子邮件,在 HTML 中的
位于任何新行之前(prenom、email、tel 等)。 但是我不知道该怎么做,我实际上不明白.nl2br ... 无论如何,它不再发送电子邮件了。

【问题讨论】:

  • 嗯,它给出一个错误,邮件返回什么(它返回布尔值真或假)..
  • 没有错误,它可以正确加载 merci.html,仅此而已。没有邮件。我尝试了 3 个收件箱,一切正常,但不是我的代码 :( 我不知道如何返回 true 或 false ... 在什么上?

标签: php forms email nl2br


【解决方案1】:
  • 检查、验证和过滤 POST 数据以查看数据是否正确通过
  • 验证您可以从您使用的服务器发送邮件并且配置(SMTP 等)设置正确
  • 考虑using a mail library,而不是手动处理容易出错的邮件标题、正文内容和所有相关内容
  • 您的电子邮件可能是classified as spam,因此无法通过

【讨论】:

  • 另外,您没有保护输入?也许报价字符是问题?你至少应该在你的$_POST 周围有一个addslashes 函数。
  • 您能帮我检查一下 POST 数据吗?实际上我对 PHP 几乎一无所知。我只是想发送一个基本的邮件......我认为这是可能的。我必须成功,这是我在公司的第一份工作:(
  • 当我回显我的 "$_POST["nom"]" 或其他任何东西时,它可以工作......我猜这是 mail() 不起作用。
猜你喜欢
  • 2022-01-23
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 2021-07-10
  • 1970-01-01
相关资源
最近更新 更多