2011-11-24 43 views
2

我有一個允許任何用戶查看他們希望選擇的任何票證的票務系統。每張票將共享相同的頁面。 (例如ticket.php)URL將包含唯一的參數來標識票證。例如:/ticket.php?a=10000 & tid = 987654。 tid是票號。如果條件爲真,我想檢測是否有多個用戶正在查看該票證並在網頁上顯示該通知。我如何去做這件事?我需要使用PHP Server變量嗎?會話變量? JavaScript的?都?檢測查看相同網頁或URL的用戶

回答

0

Ajax和服務器變量應該做的伎倆。

在負載更新服務器變量 在卸載更新服務器變量 當頁面上的Ajax保持與當前狀態

更新網頁看一看這篇文章。你所要做的就是將這些array_map中的一個存儲在一個以頁面名稱爲關鍵字的服務器變量中。

Is there Java HashMap equivalent in PHP?

+0

這就是我的想法。但是,如何識別訪問該頁面的每個用戶?例如:通知將顯示爲:「用戶,B用戶和C用戶也正在查看此票證。」 –

+0

您的服務器變量可以是一個數組。所以當用戶進入你添加到數組中的頁面時,當用戶離開刪除並且Ajax簡單地加載數組並顯示時。 –

+0

你能給我一個示例代碼嗎?我仍然不明白SERVER變量將如何跟蹤訪問該頁面的每個用戶。 –

0

使用UNIX時間戳在數據庫中,這樣你就可以設置超時。 在用戶仍在查看票證時有ajax發送請求。

然後使用foreach循環並過濾所有活動時間戳,輸出用戶名或id。

向json的客戶發送回覆(除非你的貧民窟足夠使用XML)

+0

好的。所以你的意思是,當用戶查看頁面時,ajax會不斷地發送更新到數據庫中,這是查看數據庫的用戶的記錄。 –

+0

另外,我們需要確定那些離開頁面的人。我們將如何做到這一點? –

+0

你可以設置一些JS代碼在用戶離開頁面時執行,否則它會在一段時間後超時,所以你不必擔心有人被卡住「查看」頁面 –

相關問題