脚本宝典收集整理的这篇文章主要介绍了php – 使用$_SESSION超全局获取当前在线用户并将其重新设置回当前会话数据是否很难?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
然后,我想确定哪些网站用户目前处于“在线”状态.会话存储正在查看网站的用户的UserID.我搜索和搜索,似乎只找到session_decode函数来解码似乎是序列化数据(但反序列化不起作用).这里唯一的问题是,session_decode会自动填充$_SESSION超全局.所以我的问题是,暂时存储$_SESSION数据是否“不好”,对当前在线的每个用户使用session_decode,然后将$_SESSION变量重置为临时存储的数据?
function getLOGgedInUsers() { //NEED SOME ERROR HANDLING AROUND DB STUFF $oConn = DB::connect(RF_DSN); $oPRep = $oConn->prepare("SELECT SessionData From UserSessions WHERE SessionData LIKE ?"); $oRes = $oConn->execute($oPrep,array("%UserID%")); $aCurSession = $_SESSION; //Store SESSION DATA TO RESET LATER $aLoggedInUsers = array(); while ($oRow = $oRes->fetchrow(DB_FETCHMODE_ASSOC)) { if ($oRow == NULL) { break; } $_SESSION = array(); session_decode($oRow["SessionData"]); $aLoggedInUsers[] = new User($_SESSION["UserID"]); $_SESSION = array(); } $_SESSION = $aCurSession; //RESET SESSION DATA TO current ONLINE USER return $aLoggedInUsers; }
在我看来这可行,但有没有任何已知的情况,这可能会失败,然后当前用户最终会得到一些其他用户的会话数据,有效地作为可能的管理员或其他东西登录?将另一个字段存储在我的UserSessions数据库中以容纳UserID或类似的东西会更好吗?
以上是脚本宝典为你收集整理的php – 使用$_SESSION超全局获取当前在线用户并将其重新设置回当前会话数据是否很难?全部内容,希望文章能够帮你解决php – 使用$_SESSION超全局获取当前在线用户并将其重新设置回当前会话数据是否很难?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。