联系人表单处理程序指向空白php而不是html页面
我有一个联系表格,应该是去一个感谢你的html页面。电子邮件正在发送到我的帐户,但在提交页面时,它会转到一个空白的php页面,而不是我的感谢html页面。有什么建议吗?代码很低联系人表单处理程序指向空白php而不是html页面,php,html,forms,contact,Php,Html,Forms,Contact,我有一个联系表格,应该是去一个感谢你的html页面。电子邮件正在发送到我的帐户,但在提交页面时,它会转到一个空白的php页面,而不是我的感谢html页面。有什么建议吗?代码很低 <?php $errors = ''; $myemail = 'yourname@website.com';//<-----Put Your email address here. if(empty($_POST['name']) || empty($_POST['email']) ||
<?php
$errors = '';
$myemail = 'yourname@website.com';//<-----Put Your email address here.
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']))
{
$errors .= "\n Error: all fields are required";
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
$errors .= "\n Error: Invalid email address";
}
if( empty($errors))
{
$to = $myemail;
$email_subject = "Contact form submission: $name";
$email_body = "You have received a new message. ".
" Here are the details:\n Name: $name \n Email: $email_address \n Message \n $message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
联系人表单处理程序
我以前在重定向到另一个页面时遇到了问题,因为有东西是echo()
'd。也许这可以解决你的问题
header('Location: page.html');
exit();
您不能同时拥有
回显
和标题
。正如Alex在下面所说的,使用他的建议并消除echo。您可能会在if
语句中使用错误消息。您还应该发布表单本身,而不仅仅是echo nl2br($errors)代码>。很可能你不需要它,因为它已经在你的处理器中。我感谢你的回复。我想知道是否可以在php中包含html谢谢页面的代码?我没有构造这段代码,所以我仍在努力解决问题。我不确定这样做是否会干扰邮件发送到我的帐户。好的,所以我上传了该网站的直播,它现在重定向到html页面,但没有找到。我要玩弄它,让它工作起来。当我点击它时,它会显示在forms文件夹中,但页面在根文件夹中。虽然不是100%,但您的回复有所帮助。非常感谢你们两位的快速响应。@K.H.您可以从根文件夹中指定一个文件,使用/
这样的名称:位置:/page.html
,甚至相对于其父文件夹。/
文件夹位置:../page.html
@K.H.尝试使用双引号“
用于您的位置文件。我以前也遇到过类似的问题。通过在反斜杠前添加句点来修复它。ie:位置:./page.html。我把php和联系人表单移到了同一个文件夹中。@K.H.那么你就不需要点了/page.html
与page.html
完全相同。移动文件解决了您的问题;)