2013-01-05 87 views
0

我一直這樣做了一段時間,但仍然感到困惑,當談到PRG。我知道它是如何工作的,以便例如我會做:在重定向... meta-refresh之前使用Post/Redirect /獲取數據?

if($_POST){ 
header("Location: ".$_SERVER['REQUEST_URI']); 
exit(); 

}

因爲它停止用戶刷新和重新發送POST到服務器。但我不斷收到「警告:不能修改標題信息 - 標題已發送」等等等等等等等等等等。我知道這是因爲重定向需要在任何空白或回顯或文本等之前去執行......所以在標題上方就是理想的了!

但是,如果我的表單被髮送到一個沒有標題或任何東西(我可以處理數據和編輯數據庫等)的隨機.php頁面,這對我來說更有意義 - 但這樣我就不能包含任何Wordpress的功能來處理我的數據,並做我需要做的。就像我會包括幾行Wordpress來允許我訪問函數一樣,但是這樣我無法處理數據,然後重定向用戶。

目前,我正在處理數據,並使用元刷新重定向,我知道這是不好的!

希望這是有道理:)任何幫助將非常感激!

回答

0

林不知道是做這個

以正確的方式,但通常我用js重定向echo '<script>window.location="somefile.php";</script>'; 避免這種錯誤

0

我通常使用location.replace(URL),所以如果用戶點擊回在他們的瀏覽器中,他們沒有被困在重定向迷宮中:

window.location.replace(urlToRedirectTo);