我已成功將以下表單提交代碼整合到我的網站中,並且效果很好。不過,如果表單提交成功,我希望代碼將用戶重定向到一個頁面,如果失敗,則將代碼重定向到另一個頁面。我怎麼能適應下面的代碼來做到這一點?它真的開始讓我緊張起來! :-P如何在php表單提交後重定向到成功/失敗頁面?
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$enquiry = $_POST['enquiry'];
$formcontent=" From: $name \n Phone: $phone \n Message: $enquiry";
$recipient = "[email protected]";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>
編輯:
好,我已經改變了代碼:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$enquiry = $_POST['enquiry'];
$formcontent=" From: $name \n Phone: $phone \n Message: $enquiry";
$recipient = "[email protected]";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
if(mail($recipient, $subject, $formcontent, $mailheader)){
header("Location: mailer-success.htm");
}else{
header("Location: mailer-fail.htm");
}
exit;
?>
這工作但它從來就沒有到故障頁面。我猜這是因爲即使字段爲空也總是發送電子郵件。我有jQuery的驗證(我已禁用測試目的),但顯然只適用於啓用JavaScript的用戶。如果表單域包含數據,我怎樣才能更改代碼以僅顯示成功頁面?任何幫助表示讚賞。
定義「成功」。如果你只是想知道電子郵件是否已發送,你應該用更有趣的東西來替換die(「Error!」)。 – Blazemonger
而不是最後的'echo'只是使用輸出位置標題指向'成功頁面'或'錯誤頁面'。 – arkascha
剛回到我的問題,我8投5中。我沒有的3人中,有一人被關閉,另外2人使用不同的解決方案修正了這些建議。在這兩個我修復myslef我更新瞭解決方案的原始帖子。你可以嗎? :-P – Chris