我遇到了 php header() 的问题。我有一个带有联系表格的 index.php 页面。提交表单后,它的操作会转到同一个 index.php 页面,其中需要一个 handler.php 脚本。如果收到 POST,它会执行以下步骤:重新验证检查:如果 recaptcha 让您通过:2.1) echo "/js script tag which alertsmth like 'captcha is connected!'/";2.2) 还需要一个 new_order.php 脚本文件,它会向我的 CRM 发送一个新订单,然后通过 header(location ...) 重定向您;到上述 index.php 页面。如果 recaptcha 不允许您通过:3.1) echo "/js script tag which alertsmth like ‘captcha is not verify!'/";如果 3. 发生 - 页面向我显示验证码失败 js-alert 并自动转到 index.php,无需调用 header();如果 2. 发生 - 成功创建了一个新的 CRM 订单(因为 new_order.php 完成了这项工作),header(); 让我进入 index.php,但 2.1 回声不会提醒消息。当我用 2.2) require(new_order.php) 注释该行时,它就出现了。我需要此重定向以避免在浏览器中发送“重复发送表单”。重定向完成后,您刷新页面,它不会说“再次提交表单?”我知道这是关于在标题之前不包含一些信息,但我无法掌握主要意义。
3 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
我解决了这个问题:
我通过 setcookie(blah); 在 new_order.php 脚本的末尾设置了一个 cookie。
我在 handler.php 的开头添加了一个 if-check。
当我重定向到提到的 index.php 时,所需的处理程序会检查我的 cookie 是否已设置。
如果是 - 这意味着已经下订单,因此我收到我的 echo "\script\alert('Thank you!');\script\";
如果没有设置——我从来没有调用过new_order.php!
- 3 回答
- 0 关注
- 248 浏览
添加回答
举报
0/150
提交
取消