2011-01-06 65 views
0

我在頁面中有一個表單。現在我將表單提交到同一頁面(使用後)。此部分工作正常。但是,當我刷新頁面時,表單再次提交。關於如何解決這個問題的任何線索。多頁表單提交頁面退訂PHP

+0

您可以使用重定向或者你可以使用的形式隨機數以避免重複 – shankhan 2011-01-06 16:28:54

+0

可能的重複:http://stackoverflow.com/questions/3923904/preventing-form-resubmission,http://stackoverflow.com/questions/880437 /預防 - 雙表格提交,http://stackoverflow.com/questions/218907/how-to-handle-multiple-submissions-server-side ...等... – Yahel 2011-01-06 16:35:58

回答

3

將標題重定向到相同的頁面或其他頁面。

+0

我想做一個重定向,但問題是頁面分離在一個頭 - body-footer.So當我嘗試重定向它給了我一個警告:頭已發送在(header.php)指向我在頁面中的頭。如何處理這個? – 2011-01-06 16:48:45

0

您可以使用會話。如果表單名稱存在於會話中,則不會再處理該表單。

$_SESSION['form']['name_of_the_form'] = time(); 
2

處理POST請求後重定向回同一頁面。

if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    # process the request ... 

    # ... and redirect 
    header('Location: page.php'); 
} 
0

正如其他人已經指出的那樣,您可以通過修改發送回用戶瀏覽器的標頭來使用HTTP重定向。 PHP中的header()函數允許您執行此操作。請確保在輸出任何內容之前執行此函數調用,否則將失敗。它可能看起來像下面這樣。

<?php 
// some code to process the form data here 
header('Location: page.php'); // redirect user to page.php