为什么变量没有传递给函数?

时间:2013-06-28 15:11:36

标签: php function variables session-variables

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 ...但不会传递给需要它的函数。

0 个答案:

没有答案