我遇到了 php header() 的問題。我有一個帶有聯(lián)系表格的 index.php 頁面。提交表單后,它的操作會轉(zhuǎn)到同一個 index.php 頁面,其中需要一個 handler.php 腳本。如果收到 POST,它會執(zhí)行以下步驟:重新驗證檢查:如果 recaptcha 讓您通過:2.1) echo "/js script tag which alertsmth like 'captcha is connected!'/";2.2) 還需要一個 new_order.php 腳本文件,它會向我的 CRM 發(fā)送一個新訂單,然后通過 header(location ...) 重定向您;到上述 index.php 頁面。如果 recaptcha 不允許您通過:3.1) echo "/js script tag which alertsmth like ‘captcha is not verify!'/";如果 3. 發(fā)生 - 頁面向我顯示驗證碼失敗 js-alert 并自動轉(zhuǎn)到 index.php,無需調(diào)用 header();如果 2. 發(fā)生 - 成功創(chuàng)建了一個新的 CRM 訂單(因為 new_order.php 完成了這項工作),header(); 讓我進入 index.php,但 2.1 回聲不會提醒消息。當我用 2.2) require(new_order.php) 注釋該行時,它就出現(xiàn)了。我需要此重定向以避免在瀏覽器中發(fā)送“重復發(fā)送表單”。重定向完成后,您刷新頁面,它不會說“再次提交表單?”我知道這是關于在標題之前不包含一些信息,但我無法掌握主要意義。
3 回答

慕姐8265434
TA貢獻1813條經(jīng)驗 獲得超2個贊
我解決了這個問題:
我通過 setcookie(blah); 在 new_order.php 腳本的末尾設置了一個 cookie。
我在 handler.php 的開頭添加了一個 if-check。
當我重定向到提到的 index.php 時,所需的處理程序會檢查我的 cookie 是否已設置。
如果是 - 這意味著已經(jīng)下訂單,因此我收到我的 echo "\script\alert('Thank you!');\script\";
如果沒有設置——我從來沒有調(diào)用過new_order.php!
- 3 回答
- 0 關注
- 285 瀏覽
添加回答
舉報
0/150
提交
取消