我有一个HTML5表单设置如下:
<form id="contact-form" action="php/email.php">
<fieldset>
<ul id="form">
<li>
<label for="name">Name:</label>
<input id="name" name="name" type="text" placeholder="First and Last Name" required />
</li>
<li>
<label for="email">Email:</label>
<input id="email" name="email" type="email" placeholder="Enter email address" />
</li>
<li>
<label for="message">Message:</label>
<textarea id="message" name="message" placeholder="Leave comments here..." required></textarea>
</li>
</ul>
<a id="back" href="index.html"><-- Home</a>
<input type="submit" id="submit" value="Submit Form" class="button"/>
</fieldset>
</form>
和一个给我发电子邮件的小脚本。我想知道如何将用户重定向到Thank You页面。有什么建议吗?
对不起,这是PHP脚本:
<?php
$name = $_GET['name'];
$visitorEmail = $_GET['email'];
$message = $_GET['message'];
$email_from = "lesniakbj@jay.washjeff.edu";
$email_subject = "New Form Submission! - From: " + $visitorEmail;
$email_body = "Here is the message from $name: \n $message";
$to = "lesniakbj@jay.washjeff.edu";
$headers = "From: $email_from \r \n";
$headers .= "Reply-To: $visitorEmail \r \n";
mail($to, $email_subject, $email_body, $headers);
echo "Success! You've sent mail!";
?>
编辑:
好的,我对此有这个问题:
~/MyMobileApp/php/email.php
以及我的所有内容:
~/MyMobileApp/
我想重定向回本地页面,我的索引页面位于我的php脚本上方的一个文件夹中。标题的问题是它不能超出它当前所在的目录;也许我应该在该文件夹中添加一个感谢html页面并重定向?或者有更好的方法吗?
答案 0 :(得分:3)
在你发送电子邮件后,添加这个php片段:
header("HTTP/1.1 303 See Other");
header("Location: /thank-you.php");
exit();
答案 1 :(得分:1)
在php脚本中,您可以像这样设置HTTP重定向标头:
header('Location: thanks.php');
但有几点需要注意:
window.location.href
设置为要重定向到的页面。答案 2 :(得分:0)
使用php,重定向很容易。完成小脚本的逻辑后,使用header()
函数。
header('Location: http://www.yourlocation.com/there/myfile.html');
这会发送一个重定向标头,导致目标网页加载。您可以定位任何地址。但是,脚本将继续执行,因此不要假设这样就结束了。此后的任何代码都将运行。此外,必须在任何输出之前发送标头,因此没有HTML并确保在脚本打开<?
之前不回显任何内容或有任何空格。否则你会收到错误。
手册中还有更多关于header()的信息。