Xoops 使用自訂 Session
在 Xoops 中使用自訂 Session 時,會發現不論 $_Session 怎麼更改,到下一個畫面就消失,原因是 Xoops 不允許直接對 Session 操作,如果要自訂 Session 則要做以下設定
偏好設定/系統/一般設定
1.使用自定的session:是
2.Session 有效期:60
1.使用自定的session:是
2.Session 有效期:60
再來可以將自訂的 Session 寫入 $_SESSION['XOOPS_TOKEN_SESSION'] 陣列中,例如
$_SESSION['XOOPS_TOKEN_SESSION']['cid'] = $cid;
這個作法是追縱Xoops 核心得出來的結果,也許可以透過 Xoops 本身的物件去操作,但是目前仍未找到,如果有更好的作法,歡迎指正

什么是自订session,在哪里设定
評論 由 sheshi37c — 8月 30, 2006 @ 1:30 pm
關於 Session 的說明,請參考 PHP Session 管理或是 使用 SESSION 來記錄 Web 應用程式的狀態
在開發網頁程式時,經常需要得知目前使用者的資訊,而http 是一種無連線狀態(Stateless Connection)的協定。
意思就是說,Server 端的變數在頁面顯示完成後,會全部消失,所以我們需要有一種不會消失的全域變數來記錄必要的資訊,
以前我們常常使用 Cookie 來記錄這些資訊,但是Cookie是儲存在 Client 端,會有支援性及安全性的問題,所以目前很多網站捨棄 Cookie 而使用 Session
明白了 Session 的用意後,自然可以知道,為什麼要使用自訂 Session 的功能,而在 Xoops 裡啟用自訂 Session 功能的方式,在上文也有說明
1.使用自定的session:是
2.Session 有效期:60
評論 由 shinnlu — 8月 30, 2006 @ 2:00 pm
非常感谢你的回复
我已经做了”偏好設定/系統/一般設定”,但是自己问题依然没有解决.
我现在在做一个网站,里面架设XOOPS,在网站做一个登陆口,提交信息到xoops”user.php”页面处理用户登陆,然后跳转返回到网站页面,我起用$_SESSION['uname'],进行判断,但输出的值却是空值,只是什么原因
问一下,方便留下你的MSN吗,嘿嘿~
評論 由 sheshi37c — 8月 30, 2006 @ 2:13 pm
我想設定的部份沒什麼問題,有問題的只是自訂 Session 的程式碼
自訂 Session 的程式碼不能直接寫入 $_SESSION['uname'],你可以試試
我的MSN和 google Talk 都是 shinnlu@gmail.com ,但是比較常開 google talk
評論 由 shinnlu — 8月 30, 2006 @ 3:22 pm
即使是$_SESSION['XOOPS_TOKEN_SESSION']['uname'] = $uname;
在网站登陆页面,打印$_SESSION 是空值
評論 由 sheshi37c — 8月 30, 2006 @ 4:24 pm