我有一個PHP頁面,其中包含我的用戶可以查看的內容。當此頁面收到來自某個外部URL的POST請求時,我想將用戶重定向到另一個頁面。使用PHP監控回發?
我」遇到的問題是:
如何監控的請求的頁面以高效的方式被髮送?
由於header()不起作用,我該如何實際重定向它們。
謝謝。
我有一個PHP頁面,其中包含我的用戶可以查看的內容。當此頁面收到來自某個外部URL的POST請求時,我想將用戶重定向到另一個頁面。使用PHP監控回發?
我」遇到的問題是:
如何監控的請求的頁面以高效的方式被髮送?
由於header()不起作用,我該如何實際重定向它們。
謝謝。
您可以使用AJAX腳本間歇性「ping」服務器以查看是否有任何更改。如果有,用JavaScript重定向用戶。
這幾乎是唯一的方法。
我們可以把這個片段檢查後要求
if($_POST['flag']==1) {
header("location:newpage.php");
exit();
}
但如果你想定期檢查的要求,而無需用戶交互比你將不得不使用AJAX
不要忘記在呼叫標題('位置:...')後致電退出。 – 2010-06-15 06:36:03
對於第二個問題,頭()將在你輸出任何信息到頁面之前使用它。但是,如果您在其之前回顯,打印或使用HTML,則會出現錯誤。
編輯:迴應蟾蜍的評論,那麼你必須按照亞倫哈倫的建議。讓頁面將$ _POST數據保存到數據庫或文件中(請確保清理它!),就像使用任何$ _POST數據一樣。然後,您需要使用AJAX從第二個PHP頁面獲取響應,該頁面只需檢查存儲的更新數據的存在即可。如果響應回來,那麼您使用JavaScript重定向進行重定向。
不使用AJAX的唯一方法是使用HTML元刷新元素以定時的間隔刷新頁面,以檢查是否收到$ _POST數據。 HTML將執行刷新,PHP將執行檢查,並且您可以使用任一重定向。
問題不在於被請求的頁面被重定向...這是關於一個頁面,由於其他人點擊同一頁面而已經被重定向 – Toad 2010-06-15 07:06:52
我能ping什麼?我無法預測外部職位何時到來。 – Rebecca 2010-06-15 06:06:37
PHP文件本身。您必須將外部ping存儲在臨時文件或數據庫中,直到客戶端可以檢索到它。 – 2010-06-15 06:07:37