我有一份电子邮件表格,我正在验证日期,它是预订表格。我正在做的是,当开始日期大于结束日期时,它会给我一条消息,要求修复日期并重定向到页面。我有 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 页面
.
最佳答案
我建议采用另一种方法:通过验证处理表单提交的正确方法是使用 Post-Redirect-Get 技术:
- 用户提交表单(即 POST 请求)。
- 表格有效吗?如果是,请对其进行处理并使用 GET重定向至确认页面。
- 如果表单无效,则仅显示带有错误消息的表单(作为对原始 POST 请求的响应。
举例说明:
+--------+ POST +--------+ Yes +----------+ GET +--------------+
| Submit | -------> | Valid? | -------> | Redirect | ------> | Confirmation |
+--------+ +--------+ +----------+ +--------------+
^ |
| | No
+-------------------+
关于php - 重定向 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373766/