簡體   English   中英

記住用戶在php上的最佳做法

[英]Best practices on remembering where the user was on php

我想對在PHP腳本上記住用戶所在位置的最佳做法提供一些建議。

因此,我們有一個PHP應用程序,具有HTML + Js前端,並在該前端顯示了分頁的項目列表(通過DataTables)。 當用戶單擊項目時,應用程序將加載一個新頁面,其中包含項目說明。

我們要實現的是,當用戶單擊瀏覽器的后退按鈕時,將被發送到他/她在列表中的確切位置(確切的頁面和行)

我們正在使用DataTables列出分頁等等,因此將用戶定位在特定行上不是問題。

我有兩種方法:

  • Cookies (客戶端) :因此,每次用戶更改DataTable中的頁面時,我們都會存儲一個cookie。 每當用戶返回頁面時,我們都會讀取Cookie並將用戶定位在該特定頁面/行上。
  • 會話 (服務器端) :每次用戶進入項目頁面時,我們都會存儲一個帶有項目ID的會話變量。 每當用戶返回項目列表時,我們都會讀取會話變量,並生成跳轉到項目所在的特定頁面/行所需的javascript。

關於上述優點/缺點?

還有其他想法/建議嗎?

您應該始終為用戶可以導航到的任何位置發出唯一的URL ,然后標准的瀏覽器導航就可以正常工作。 如果您將狀態存儲在Cookie或會話中(此處沒有明顯區別),則一次只能存在一個這樣的狀態,並且用戶將無法打開具有不同狀態的單獨窗口/選項卡。 這與HTTP的工作方式背道而馳。

如果從一個頁面鏈接到另一頁面,請在URL中添加參數以表示唯一狀態,例如:

如果要在使用Javascript的頁面上動態更改狀態,則可以添加一些片段來表達這些狀態更改:

您還可以使用Javascript 歷史記錄API,以不只是片段的其他方式來更改URL。 重要的部分是您可以讀取該URL並再次再現相同的狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM