我已成功将以下表单提交代码整合到我的网站中,并且效果很好。不过,如果表单提交成功,我希望代码将用户重定向到一个页面,如果失败,则将代码重定向到另一个页面。我怎么能适应下面的代码来做到这一点?它真的开始让我紧张起来! :-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