function User_CustomValidate(&$usr, &$pwd) {
global $usr2;
$usr = $usr2;
$this->setCurrentUserName($usr); // Set the current user name
return TRUE;
}
我有一个我需要填充的简单功能。但$ usr不允许将任何变量传递给它。这将保留会话用户ID。如果我将其设置为$ usr ='445',则会使用用户445的凭据将所有人都记录到网站中 - 这样就可以了。
然而,起初我试图设置$ usr = $ _SESSION ['uid']来获取用户信息。 uid数据在代码中传递得很好,但我没有得到任何$ usr。
所以在收集会话uid之后我添加了$ usr2 = $ _SESSION ['uid']。我的所有页面都可以显示$ usr2。但$ usr不会更新。我唯一可以接受$ usr接受的是静态条目,这对于动态用户登录无效。
编辑:
以下回声笔记 -
if (IsLoggedIn()) echo "logged in"; // it returns "logged in"
echo "userlevel:" . CurrentUserLevel(). "---"; // it returns nothing relies on username
echo "username:" . CurrentUserName(); // it returns nothing relies on function
echo "userid:" . CurrentUserID (); // it returns nothing relies on username
echo "usr:" . $usr; //returns nothing
echo "usr2:" . $usr2; //returns uid
echo "session" . $_SESSION['uid']; //returns uid
另一个注意事项 - 如果我在页面上的函数之外有$ usr = $ usr2,那么它会传递uid信息以获取$ usr ...但不会传递给需要它的函数。