2014-04-29 225 views
0

我對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 = '[email protected]'; 
$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>'; 
} 
?> 
+1

隨着一個非常艱難的「C」,代碼。展示下。這不像我們可以通過訪問您的頁面來查看您的實際PHP「源代碼」。 PHP只是一種奇怪的動物。 –

+0

如果您不發佈PHP代碼,我們無法提供幫助。 – Beardminator

+0

最有可能:您沒有編寫任何PHP(您發送郵件後)輸出要顯示的HTML文檔而不是普通的白頁。 – Quentin

回答

0

如果郵件被髮送,那麼唯一可能的解釋是,$ _ POST [「提交」 ] == false(不太可能)或$ human!='4'(更可能)。

推理:郵件($ to,$ subject,$ body,$ from)在第14行運行,但它不會超過第15行的條件。如果要使它超過第15行的條件,它必須輸出至少一些東西。

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); 
} 
+0

哦,我明白髮生了什麼事。謝謝。我會看看這是否修復它。 – neena