我的主页上有一个表单,提交后会运行一个包含以下代码的外部form.php文件。我正在MAMP上进行测试,并且标头重定向似乎无法正常工作,网址只是停留在form.php网址上?我以前有一个可以正常工作的回声功能!我究竟做错了什么?请帮助,在此先多谢
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$company = $_POST['company'];
$robots = $_POST['robots'];
$from = 'From: Blah Register Form';
$to = '[email protected]';
$subject = 'Blah Lead';
$body = "From: $name\n E-Mail: $email\n company: $company\n ";
if ($_POST['submit'] && $robots == '') {
if (mail ($to, $subject, $body, $from)) {
header("Location: http://google.com");
exit;
}
else {
echo '<p>Something went wrong, please try again</p>';
}
}
else if ($_POST['submit'] && $robots != '') {
echo 'Sorry, we don\'t like spammers here!';
}
?>
您的条件在两种情况下都不会始终解析为true。因此,除非您确定要发送电子邮件,否则您不知道是否正在调用任何代码。这收紧了一点:
if($_POST['submit']) {
if ($robots == '') {
if (mail($to, $subject, $body, $from)) {
header("Location: http://google.com");
} else {
echo 'Something went wrong, please try again';
}
} else {
echo 'Sorry, we don\'t like spammers here!';
}
} else {
echo "submit was not set";
}
因为现在您有:
if ($_POST['submit'] && $robots == '') {
// send the email or whatever
} else if ($_POST['submit'] && $robots != '') {
echo 'Sorry, we don\'t like spammers here!';
}
这意味着如果$_POST['submit']
未设置,则两个条件都不成立。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句