我正在测试本地服务器上提交的联系人。 dev.localhost
我得到的错误是
The requested URL /volunteer-success.php was not found on this server.
我是PHP的新手。我尝试提交表单,通过电子邮件发送消息+名称,然后将用户重定向到谢谢屏幕。
我的HTML如下......
<form action="volunteer-submit.php" method="post" name="contact_form" data-parsley-validate>
<textarea name="message" id="message" placeholder="Message" required></textarea>
<input type="text" placeholder="Your Name" id="name" name="name" required>
<input type="email" placeholder="Your Email Address" id="email" name="email" required>
<input type="submit" class="submit" value="Submit">
</form>
发送电子邮件的PHP如下
$to = "example@example.com";
$subject = 'Email';
$headers = 'From: no-reply@example.com' . "\r\n" .
'Reply-To: '.$_POST["email"]. "\r\n" .
"Content-Type: text/html; charset=ISO-8859-1\r\n".
'X-Mailer: PHP/' . phpversion();
$message = '<html><head><title></title></head><body>';
$message .= '<p>Hi Ben, </p>';
$message .= '<p>'.$_POST['message'].' </p>';
$message .= '<p>'.$_POST['email'];
$message .= '</body></html>';
mail($to, $subject, $message, $headers);
//Redirect
header("Location:volunteer-success.php"); /* Redirect browser */
?>
很想知道它为什么不重定向。我已将php文件与index.html文件一起保存到dev.localhost。
*使用的示例电子邮件
答案 0 :(得分:2)
试试这个 -
在exit();
header()
因为在将页面重定向到另一个页面后,标题下面的代码不应该执行。
header("Location: ./volunteer-success.php"); /* Redirect browser */
exit();
还有一件事。在
之前和之后检查文件中的空格 // Before shouldn't be any space
<?php
?>
// After shouldn't be any space as well
答案 1 :(得分:0)
header("Location: ./volunteer-success.php");
享受您的代码! :)
答案 2 :(得分:-6)
我猜你应该使用javascript重定向
<script>window.location.href="volunteer-success.php";</script>
因为,大部分时间php Header()都无法正常工作