表单验证后,如何重定向到PHP的新URL

时间:2010-03-10 21:55:31

标签: php validation url

我对后端网络工作非常陌生,我正在尝试为我的剧院创建一个表单,其中有人可以提交空间查询表单。我有表格,它有效,但我想要它做的是在他们点击'提交'并且表格经过验证并通过电子邮件发送给我们后,他们将被重定向到“谢谢”页面。我尝试过在Dreamweaver CS3中使用这些行为,但是如果我使用onClick-> goto URL,它会去,但如果页面没有验证,我仍然会得到不完整的警告,他们没有机会修复它。现在,验证工作,但我没有onClick-> goto URL,它只是刷新一个空白表单。

这是我一直在使用的PHP:

<?

if(sizeof($_POST)) {
$body = "";
while(list($key, $val) = each($HTTP_POST_VARS)) {
$body .= "$key: $val \n";
}

mail("rentals@woollymammoth.net", 
"Rental Request",
$body);


?>

这是Javascript:

   <form action=<? echo $PHP_SELF; ?> method="post" name="rentalRequest"  onSubmit="MM_validateForm('firstName','','R','lastName','','R','organization','','R','emailAddress','','RisEmail','phone','','R','address1','','R','city','''R','guestNumber','','RisNum','timeStart','','R');return document.MM_returnValue">    

我花了大部分时间在网上研究这个并没有找到答案。任何帮助将不胜感激。我愿意向任何可以帮助我的人发送cookies。

3 个答案:

答案 0 :(得分:2)

您必须发送HTTP Location标头;这可以在PHP中完成,代码如下例所示:

header('Location: http://www.example.com');
exit();

几点说明:

  • 在将任何输出发送到浏览器之前,必须先调用header函数。
  • exit()调用可确保您在调用header()
  • 后立即终止您的脚本
  • 理论上,您应该为HTTP Location标头使用绝对URL (例如http://www.example.com/test.php - 即使相对URL (例如{{1 }})通常适用于浏览器。

答案 1 :(得分:2)

在PHP中,您可以使用以下代码重定向:

header("Location: thanks.php");

在处理完表单提交后添加此项。为了完整性,请考虑在exit();函数之后添加header()以防止进一步执行。

答案 2 :(得分:0)

你可以使用php中的header()函数来更改'location'变量,阅读更多@ http://php.net/manual/en/function.header.php: - )