重定向标题

时间:2012-07-07 09:17:37

标签: php

我有一个电子邮件表格,我正在验证日期,它是一个预订表格。我正在做的是当开始日期大于结束日期时,它给我一条消息说要修复日期并重定向到页面。我有2页,预订表格的页面,当我点击提交时,它会进入contact_engine页面进行验证并发送电子邮件:

这就是我说的:

if ($datebegin >= $dateend){
    echo '<script>alert("Fix the Date");</script>'; 

exit;

问题是当它退出时它停留在功能页面中,我希望它退出但转到上一页。有人可以给我一些帮助吗?我尝试使用exit。我尝试将其与header("Refresh: 1; url=http:/website.com/booking.php");一起使用,但不知何故,这会将我带到sent_page_booking page

4 个答案:

答案 0 :(得分:3)

我建议采用另一种方法:通过验证处理表单提交的正确方法是使用 Post-Redirect-Get 技术:

  1. 用户提交表单(即 POST 请求)。
  2. 表格有效吗?如果是,请使用 GET 处理并重定向到确认页面。
  3. 如果表单无效,只需显示包含错误消息的表单(作为对原始 POST 请求的回复。
  4. 举例说明:

    +--------+   POST   +--------+   Yes    +----------+   GET   +--------------+
    | Submit | -------> | Valid? | -------> | Redirect | ------> | Confirmation |
    +--------+          +--------+          +----------+         +--------------+
         ^                   |
         |                   | No
         +-------------------+
    

答案 1 :(得分:3)

使用此:

header("Location: phppage.php");

并且在此代码之前不要使用echo。将此代码置于启动状态并使用按钮事件调用它。

答案 2 :(得分:1)

如何进行定时重定向,以便用户收到显示的错误消息:

header("refresh:5;url=back-to-booking-form.php");
echo 'Form Error. Fix the date. Redirecting to the booking form in about 5 secs.'; 

答案 3 :(得分:-1)

使用此下方链接获得确切答案

https://stackoverflow.com/questions/13539752/redirect-function

function redirect_url($path)
{
  header("location:".$path);
  exit;
}