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