【发布时间】:2016-03-04 07:36:02
【问题描述】:
我试图制作一个表单,根据表单上选择的内容向某人发送不同的电子邮件。当我提交表单时,我只是得到一个空白页面,其 url 指向“../wp-content/test/test.php”,它甚至不会进入默认的 oops 页面。我不确定我做错了什么。任何意见表示赞赏。在我添加开关之前一切正常。我可以向一个人发送一封电子邮件,所有选项都很好。这是我的表格:
<form name="contactform" method="post" action="../wp-content/test/test.php">
<input type="text" name="name" maxlength="50" size="30">
<input type="text" name="email" maxlength="80" size="30">
<select id="club" name="club">
<option name="wordone" value="wordone">wordone</option>
<option name="wordtwo" value="wordtwo">wordtwo</option>
</select>
<input type="submit" value="Submit">
</form>
这是我的 php:
<?php
if(isset($_POST['Submit'])){
$name = $_POST['name'];
$club = $_POST['club'];
$email_from = $_POST['email'];
$email_subject = 'New Form submission';
$email_body = '...';
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $email_from \r\n";
switch($_POST['club']){
case 'wordone':
$to = "nick@website.com";
mail($to,$email_subject,$email_body,$headers);
header('Location: http://website.com/thanks2');
break;
case 'wordtwo':
$to = "chris@website.com";
mail($to,$email_subject,$email_body,$headers);
header('Location: http://website.com/thanks1');
break;
default:
header('Location: http://website.com/oops');
}
}
【问题讨论】:
-
表单没有
name或email的字段 ~ 或者这些只是在问题中省略了?似乎还有很多可以/应该压缩的代码重复。'X-Mailer: PHP/' . phpversion();行也是错误的 - 它似乎不是任何东西的一部分 -
正如@RamRaider 所说,
'X-Mailer: PHP/' . phpversion();行很可能会导致您出现问题,它是一个随机字符串,需要分配给一个变量。听起来您还需要打开错误报告,因为您应该会收到某种错误消息。 -
是的,我确实从帖子中删除了姓名和电子邮件部分。我刚刚编辑了我的原始帖子以显示它。我认为是 ($_POST['club']) 部分导致了问题。我还删除了 'X-Mailer: PHP/' 。 php版本();从我的源 idk 来看,它只是包含在我复制的一些代码中。
-
在我添加开关部分之前,一切正常,只要发送电子邮件即可
标签: php forms email header switch-statement