2011-08-30 193 views
0


我想在php中驗證我的頁面服務器端...要做到這一點,我必須做到張貼到同一頁面,以檢查控制值。但驗證成功後,如何使用post方法重定向到另一個頁面?我可以用get來實現這個功能但是有沒有一種方法可以使用post方法從代碼本身中重定向頁面?服務器端驗證php

在簡單的話,我試圖尋找一個解決方案使用POST方法來重定向我的網頁,但是從我的PHP代碼,而不是設置在形式標記的action屬性。

感謝,
RIZWAN

+0

POST會要求重新提交的內容。它用於從客戶端向服務器端提交值。如果您驗證了服務器端的值,則只需使用GET請求提供頁面。你想通過堆積帖子來達到什麼目的?你能詳細說明嗎? – topless

+0

你可能會發現你在找什麼[這裏](http://goo.gl/nJxqI) – topless

回答

0

從你的PHP代碼重定向到另一個頁面,如果你想獲得新的一頁:

<?php 
    header("HTTP/1.1 303 See Other"); 
    header("Location: http://www.example.com/page/to/redirect-to.html"); 
?> 

我使用303這裏,作爲HTTP/1.1 spec說:

對請求的響應可以在不同的URI下找到,並且應該在該資源上使用GET方法檢索。此方法主要用於允許POST激活的腳本的輸出將用戶代理重定向到選定的資源。

並使用301,302或307 doesn't always get you a redirect-to-GET重定向。

0
<form action="<?php echo $_SERVER['PHP_SELF']; ?> action="post"> 

...您的表單代碼

休息提交按鈕

<input type="submit" name="formsubmit" value="submit button text" /> 

某處對你的頁面的頂部

<?php 
if(isset($_POST['formsubmit)) 
{ 
    //do validation and if validated - redirect to new page 
} 
    else { 
// display errors and current page with form again 
} 
?>