2014-04-15 63 views
0

我對此很新,我的工作位置被要求創建一個網頁來管理他們的圖片數據庫。 我創建了一個搜索頁面,在這裏的話通過搜索一個形式收到,這一點:返回到一個有表格數據的頁面

<form name='searchform' action='search.php' method='post'> 
    Search: <input type='text' name='searchword' onkeydown=\"if (event.keyCode == 13) this.submit()\"> 
</form> 

當我尋找的東西,我看到所有的結果列表,通過獲取我想要的話通過$_POST['searchword']進行搜索。當我點擊任何結果時,它會將我重定向到另一個頁面,並將結果細分。 問題是,在這樣做之後,當我按下瀏覽器上的返回按鈕時,它會要求我重新發送表單,而不是隻顯示前一頁。 有沒有辦法跳過Ctrl + R和窗體重新發送確認?

我試過使用谷歌搜索和搜索到這個網頁,但英文不是我的母語,我真的不知道用於web開發中的東西的名稱,所以我找不到任何幫助我的東西。

感謝您的閱讀:)

+0

這就是瀏覽器的工作原理。您通過表單向特定網址發送了POST請求。瀏覽器會記住這些信息,當你點擊F5時,它會重新發送這些信息(因爲這就是它如何到達指定的資源並向你顯示信息,爲了再次這樣做 - 它需要重新包含信息)。避免它的方法是在你的search.php中計算結果,一旦完成 - 將結果保存在會話變量中,並將用戶重定向到不同的頁面。或者你可以提供一個鏈接,人們可以點擊「返回」。 –

回答

0

爲了防止這種情況,你可以簡單地切換到GET模式:

<form name='searchform' action='search.php' method='GET'> 

而且隨着$_GET['searchword']獲得搜索詞。它不會要求你重新加載

+0

工作完美,謝謝:) – Iskalla

+0

我正在審查舊的問題,並注意到我沒有接受這一個。對不起,你在這裏! – Iskalla

相關問題