我正在使用MVC框架构建我的第一个站点,用户看到的视图由$u GET['page']变量决定。如果您想看到其他代码,我可以发布它,但据我所知,有问题的代码显示在下面。我不确定这是否有区别,但这段代码保存在与实际表单本身不同的文件夹中,所有适用的文件都通过index folder和include()命令包含。
ob_start();
$error = ""; $successMessage = "";
if ($_POST) {
if (!$_POST["email"]) {
$error .= "An email adress is required.
";
}
if (!$_POST["subject"]) {
$error .= "A subject is required.
";
}
if (!$_POST["contactMessage"]) {
$error .= "A message is required.
";
}
if ($_POST['email'] && filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false) {
$error .= "A valid email adress is required.
";
}
if ($error != "") {
$error = '
There were error(s) in your form:
' . $error . '} else {
$emailTo = "example@example.com";
$subject = $_POST['subject'];
$contactMessage = $_POST['contactMessage'];
$headers .= "From: Mailer
$headers .= " Reply-To: ".$_POST['email'];
$headers .= " Return-Path: ".$_POST['email'];
if (mail($emailTo, $subject, $contactMessage, $headers)) {
header('Location: index.php');
exit();
} else {
$error = '
Your message was not sent. Please try again later.
}
}
}
ob_end_flush();
?>
echo '
window.location = "http://www.google.com/"
';
当我回显javascript时,它所做的就是提交表单并显示窗口位置= "http://www.google.com/“在屏幕上,它似乎并没有实际执行脚本,使用header()命令,它只是退出页面,并没有重定向它。