2009-12-30 67 views
0

我建立一個網站,用戶可以選擇他們在導航菜單中看到列表中的項目,我的想法是,以存儲用戶選擇在cookie中的菜單項,因爲這將停供需要用戶是網站上的註冊會員,是否可以將實時數據存儲在cookie中,我將如何執行此操作?有關更多信息,導航選項是從一個MySQL結果構建的,然後單擊一個鏈接,該鏈接添加到不同的列表,如果他們再次單擊它將被刪除,我需要添加/從cookie中刪除這些項目作爲用戶從那裏列表添加/刪除它。存儲實時數據

回答

2

我會使用cookie來識別用戶,並執行保存在MySql中的所有菜單選項。

從cookie中獲取用戶標識並查詢數據庫中的menu_options並顯示它們。無論哪種方式,將數據存儲在cookie或數據庫中,當cookie過期時,(有效)用戶也一樣。此外,人們還會使用Adware和CCleaner等清潔工一直刪除Cookie。我每週做一次。 Cookie =走了。

+1

+1。 cookie的最大尺寸(我認爲大約爲4kB),並且爲每個請求上下發送都是低效的。更好的保持在那裏的兩個產生和使用的數據,即服務器端,只有放一個唯一的ID在cookie對用戶的識別。 – Wim 2009-12-30 20:51:48

0

這是一個壞主意。

瀏覽器可以存儲的cookie數量未定義(但對於大多數瀏覽器來說存在硬限制)。 RFC 2109建議每個主機至少有20個cookie,最小Cookie大小爲4k。當然,大多數瀏覽器都堅持後者。

您還將不得不復制會話管理的所有功能,而沒有服務器端狀態的好處。你不希望這種路線下的那種痛苦會導致你。將會話數據保存在服務器端。

沒有要求用戶'登錄'進行會話。你只需要在持久cookie中爲它們分配一個自動標識(如果它們曾經登錄過,則替換它們)。並且在用戶更改配置時將會話映射回更長期的存儲空間。

C.