2012-11-20 131 views
1

我有一個向SQL數據庫查詢的頁面。它的唯一目的是讓學生鍛鍊。根據學生的活動,該頁面會用新內容重寫,以便學生可以輸入查詢,顯示結果表格或收到錯誤消息。當點擊瀏覽器後退按鈕時提交表格

所有正在通過表單發佈數據到同一頁面。

不過,我淨身出$ _ POST變量的內容來準備新的行動,如果一個學生使用後退按鈕或前進按鈕(點擊返回按鈕後)的數據丟失。

但是,有一個「返回」按鈕,通過發佈所需數據來組裝數據以恢復上一頁。是否有可能使用某種技術,JavaScript,HTML5,PHP或其他任何實際提交表單時按下瀏覽器返回按鈕時發佈組裝數據的表單?

我使用HTML 5,PHP 5和一些JavaScript(不JQuery的,但如果它給了我一個選項...)

+3

存儲在一個會話或cookie變量... –

+1

對不起所有人,並感謝您的努力。他們正在關閉PHP服務器,我必須學習Polopoly,這將需要一段時間。我對此並不滿意,但我們正在努力讓每個人都使用Polopoly。那麼... – serafim

回答

2

你可以使用HTML5存儲,因爲如果用戶不填寫完整的表格或關閉瀏覽器中的數據將丟失關閉瀏覽器,而不是提交的形式不填

檢查HTML5存儲

function supports_html5_storage() { 
      try { 
      return 'localStorage' in window && window['localStorage'] !== null; 
      } catch (e) { 
      return false; 
      } 
     } 

使用的onkeyup存儲像

$("#title").keyup(function(){ 

      var articel_title = $("#title").val(); 
      localStorage.setItem("articel_title",articel_title); 
      localStorage.getItem("articel_title"); 
     }); 

,下次當用戶打開窗體只顯示內容存儲

清除使用

localStorage.removeItem("articel_title"); 
+0

我有一種直覺,這是要走的路。 Antoher誘人技巧正在操縱瀏覽器歷史。 – serafim

2

正如你可以存儲在會議後的數據的意見建議,例如每次新查詢發佈,你可以添加:

$_SESSION['queries'][] = $_POST; 

然後,你可以允許用戶去前進/後退通過這種與某種形式的循環:

<ul> 
<?php foreach($_SESSION['queries'] as $k => $v) : ?> 
    <li>Some link structure</li> 
<?php endforeach; ?> 
</ul> 
相關問題