Php 为什么不';传递给函数的t变量?

Php 为什么不';传递给函数的t变量?,php,function,variables,session-variables,Php,Function,Variables,Session Variables,我有一个需要填充的简单函数。但是$usr不允许向它传递任何变量。这将保存一个会话用户id。如果我将其设置为$usr='445',它将使用用户445的凭据将所有人登录到该站点-因此它可以工作 然而,起初我试图设置$usr=$\u SESSION['uid']来获取用户信息。uid数据在代码中传递得很好,但我花$usr什么也得不到 因此,在收集会话uid之后,我添加了$usr2=$\u会话['uid']。我的所有页面都可以显示$usr2。但是$usr不会更新。我唯一可以接受$usr的是一个静态条目,

我有一个需要填充的简单函数。但是$usr不允许向它传递任何变量。这将保存一个会话用户id。如果我将其设置为$usr='445',它将使用用户445的凭据将所有人登录到该站点-因此它可以工作

然而,起初我试图设置$usr=$\u SESSION['uid']来获取用户信息。uid数据在代码中传递得很好,但我花$usr什么也得不到

因此,在收集会话uid之后,我添加了$usr2=$\u会话['uid']。我的所有页面都可以显示$usr2。但是$usr不会更新。我唯一可以接受$usr的是一个静态条目,它不适用于动态用户登录

编辑:

回音注释如下-

function User_CustomValidate(&$usr, &$pwd) {

     global $usr2; 
     $usr = $usr2;  
        $this->setCurrentUserName($usr); // Set the current user name 
        return TRUE;
} 

另一个注意事项-如果我在页面上的函数外部有$usr=$usr2,那么它会传递$usr的uid信息。。。但不适用于需要它的函数。

Echo out$\u SESSION['uid']检查它是否已设置?请不要在函数内使用全局。如果需要外部值,请添加一个参数。如果我回显$\u SESSION['uid'],它会传递一个参数。现在就使用global来找出$usr不接受变量的原因。此外,如果我在函数外部创建$usr=$usr2,它会将uid信息传递给$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