我是PHP的新手,无法弄清楚如何进行故障排除。我已经看过很多其他有类似问题的问题,但我无法得到他们在我的代码中使用的解决方案。
当您在下一页上提交表单时,电子邮件将按原样发送,但页面将变为白色。我已将其更改为目标_blank,因此它会生成一个白色的新选项卡,但它仍然让人感到困惑。
网页位于:http://designbycrisscross.com/contact.html
这是contact.php的内容:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$budget = $_POST['budget'];
$message = $_POST['message'];
$human = $_POST['human'];
$to = 'neena@designbycrisscross.com';
$subject = 'New Email from CrissCross Website';
$from = $email;
$body = "From: $name\n E-Mail: $email\n Budget: $budget\n Message:\n $message";
mail ($to, $subject, $body, $from);
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo 'Your message has been sent!';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
答案 0 :(得分:0)
如果邮件正在发送,那么唯一可能的解释是$ _POST [&#39;提交&#39;] == false(不太可能)或$ human!=&#39; 4&#39; (更有可能)。
推理:邮件($ to,$ subject,$ body,$ from)在第14行上运行,但它没有超过第15行的条件。如果它超过了条件在第15行,它必须输出至少一些东西。
答案 1 :(得分:0)
尝试重写条件以提供更多信息。
if ($_POST['submit']) {
if ($human == '4') {
if (mail($to, $subject, $body, $from)) {
echo 'Your message has been sent!';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
} else {
trigger_error('Form submission not detected!', E_USER_ERROR);
}