作者emn178 (小殘)
看板PHP
標題Re: [請益] 不用cookie能做會員管理嗎
時間Wed Jul 19 09:13:37 2006
對於會員制的網站的寫法
我的習慣是這樣作的
首先當然會在資料庫中有會員相關的資料
其中可能會包含使用者的族群、權限、個人設定(語系或網站的風格套用)
當然如果沒寫到這麼龐大的話至少會有會員帳號密碼等一般資料
然後我再資料庫中會建立一個叫做session的table
裡面的每筆資料表示的就是每一個連線
而欄位就是這個使用者的資訊(可能包含上面所說的權限等、還有最後動作的時間,用來愈
時登出等需要的資訊)
這時可以有兩種作法:
第一種是登入後就新增一筆session資料
所以檢驗登入就看這個連線的session有沒有在table之中
另一種是為每一個連線都建立session
而事先在會員資料中增加一個會員叫做Anonymous的使用者
然後每一個新的連線都建立為Anonymous的身分
直到登入後才更新資料
所以檢驗登入就看身分是否為Anonymous
上面兩種方法的差別
第二種是把未登入也當一種登入身分
所以能以未登入的身分也有個人的設定 例如切換別的語系
另外的話也是可以偷偷紀錄使用者的動態
例如session資料中有一個欄位叫做目前位置
然後就可以統計出那個位置現在有多少人在看
如果沒特別需要的話就不用這麼做了
以上的動作可以寫在一個php檔案
然後再每一個頁面開頭include進去
除了檢驗登入之外
還可以做是否愈時自動登出和建立一個使用者資訊的陣列變數
以供後面的程式使用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.3