2016-03-06 72 views
0

我有一個php數據庫驅動的網站,我想實現一個功能,其中有一個導航欄上顯示前一頁訪問過的頁面(與他們的網址)在網站上的部分。我打算使用$_SESSION數組來存儲這個列表。你能用javascript改變一個php會話變量嗎?

這應該很簡單,但我也希望在每個歷史記錄旁邊都有一個刪除按鈕,以便用戶可以從歷史記錄欄中刪除頁面。這樣做的問題是要更新$_SESSION數組並刪除條目,它將需要重新加載頁面,並且如果用戶位於諸如搜索結果頁面的頁面上,則它會出現錯誤,因爲生成的頁面依賴於提交的表單。在其他頁面上會出現這個問題的其他例子。

我寧願不必將搜索等存儲在會話變量來解決這個問題,所以想知道是否會有某種方式使用javascript刪除歷史記錄欄上的條目,然後以某種方式更新PHP會話變量從JavaScript時,用戶瀏覽或刷新頁面...但我不知道如何js可以更改php會話變量。這可以工作還是有另一種解決方案?

回答

2

你可以按照下面的步驟:

  1. ,從AJAX請求到PHP文件並摧毀SESSION關係到用戶的頁面訪問變量歷史。

  2. ajax成功,隱藏/刪除HTML元素或容器,使用JavaScript在網頁上顯示頁面歷史URL。

由於您的搜索頁面取決於POST值,這將確保用戶的網頁歷史記錄,而無需刷新頁面清除。當用戶導航到其他鏈接時,頁面將重新加載並且用戶不會獲得較舊的鏈接。

希望這會有所幫助!

+0

啊是的阿賈克斯,完美,謝謝你的幫助! – dlofrodloh

1

你可以使用AJAX,例如,如果你推註銷按鈕ajax會發送信息到服務器端,但php會做所有的銷燬該會話的工作。在stackoverflow上有很多ajax的例子。