2014-04-07 43 views
0

我在我的網站上有2個頁面(pay.php & receipt.php)。用戶將以正常流程從付費頁面到收據頁面。但是,當已經到達收據的用戶嘗試返回付費頁面時,它將顯示未處理的異常錯誤頁面(因爲付費頁面中使用的某些對象在收到頁面後被破壞)。我希望它能夠在用戶到達收據頁面後,當他/她嘗試返回時顯示一個彈出窗口,說因訂單完成而無法返回。使用彈出消息輸入特定頁面的塊

我通過很多論壇進行搜索,但其中大部分都以禁用後退鍵的形式給出瞭解決方案,我認爲這對我的網站來說不是個好主意。任何人都可以幫忙嗎?

謝謝

+0

只需在「pay.php」中籤入的「receipt.php」中設置一個會話變量即可。如果已設置,則在其他地方重定向或顯示消息。 –

+0

謝謝你的回答,你介意給我一個小例子嗎?我的嘗試似乎繼續生成「會話已設置」錯誤。 – user3408005

+0

我只是將它們從pay.php重定向到receipt.php,如果用戶已經完成了表單,而不僅僅是以receipt.php的形式在'表單已經完成'但是更友好的用戶。顯示用戶的消息框出錯了,或者禁用了用戶期望的工作似乎不好,可能會嚇到你的訪問者(但是我認爲你知道,因爲你不太喜歡這些選項)。但我會建議你做目標聽衆進行一些可用性測試,以測試這些不同的方法,並看看最適合他們的是什麼。 – Bigalow

回答

1

這是我的建議。在pay.php腳本中設置標頭,以在用戶單擊後退按鈕時強制完成請求。然後你可以在pay.php中處理丟失的對象,並重定向到一個錯誤頁面或任何你想要的。

header("Expires: Tue, 01 Jan 2000 00:00:00 GMT'); 
header("Cache-Control: no-cache, no-store, must-revalidate, max-age=0"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

以下是關於它在ellis lab forums上討論的鏈接。我沒有親自測試過這種方法,但它應該是一個可行的選擇。