PHP表单提交后的空白

时间:2014-04-29 21:17:53

标签: php

我是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>';
}
?>

2 个答案:

答案 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);
}