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 がある場合、$usr の uid 情報が渡されますが、それを必要とする関数には渡されません。