Php 重定向标头

Php 重定向标头,php,Php,我有一个电子邮件表单,我正在确认日期,这是一个预订表单。我所做的是,当开始日期大于结束日期时,它会给我一条消息,告诉我修复日期并重定向到页面。我有两个页面,即预订表单页面,当我单击提交时,它会转到联系人引擎页面以验证并发送电子邮件: 我是这样说的: if ($datebegin >= $dateend){ echo '<script>alert("Fix the Date");</script>'; exit; if($datebegin>=$date

我有一个电子邮件表单,我正在确认日期,这是一个预订表单。我所做的是,当开始日期大于结束日期时,它会给我一条消息,告诉我修复日期并重定向到页面。我有两个页面,即预订表单页面,当我单击提交时,它会转到联系人引擎页面以验证并发送电子邮件:

我是这样说的:

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

exit;
if($datebegin>=$dateend){
回音“警报(“确定日期”);
出口

问题是当它退出时,它会停留在函数页面中,我希望它退出,但会转到上一页。有人能给我一些帮助吗?我尝试使用
exit
。我尝试使用
标题(“刷新:1;url=http:/website.com/booking.php”)
但不知何故,这会将我带到
发送页面\预订页面

如何执行定时重定向,以便用户获得显示的错误消息:

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

我建议另一种方法:处理表单提交和验证的正确方法是使用后重定向Get技术:

  • 用户提交表单(即POST请求)
  • 表单有效吗?如果有效,请处理表单,并使用GET将其重定向到确认页面
  • 如果表单无效,只需显示带有错误消息的表单(作为对原始POST请求的响应)
  • 举例说明:

    +--------+   POST   +--------+   Yes    +----------+   GET   +--------------+
    | Submit | -------> | Valid? | -------> | Redirect | ------> | Confirmation |
    +--------+          +--------+          +----------+         +--------------+
         ^                   |
         |                   | No
         +-------------------+
    
    使用以下命令:

    header("Location: phppage.php");
    

    不要在该代码之前使用
    echo
    。将该代码置于起始位置,并使用按钮事件调用它。

    使用下面的链接以获得准确答案

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