如果用户登录我的网站,则会进行相关检查以进行登录,包括创建$ _SESSION,但是当他们浏览网站时,显然会检查他们是否在加载导航到的下一页时仍然登录
目前,此检查的代码为:
$users = blueFactory::create('blueUsers',$db, $core);
session_start();
if(isset($_SESSION['login']['username']) && isset($_SESSION['login']['hash']))
{
$userN = $_SESSION['login']['username'];
$userH = $_SESSION['login']['hash'];
if($users->CheckUser($userN, $userH) > 0)
{
define('LOGGED_IN',true);
define('USER_ID',$users->Name2id($userN));
define('USER_NAME',$users->GrabUserVar(USER_ID,"username"));
define('USER_HASH',$userH);
}
else {
define('LOGGED_IN',false);
define('USER_ID',0);
define('USER_NAME','Guest');
define('USER_HASH',0);
session_destroy();
}
}
else {
define('LOGGED_IN',false);
define('USER_ID',0);
define('USER_NAME','Guest');
define('USER_HASH',0);
}
$ users-> checkUser()函数将在每次重新加载页面时检查数据库,无论会话信息是否正确。
我担心的是,我觉得有更好的方法来编写上面的代码,但是我不知道怎么做!我正在寻找更好的方法来在用户浏览网站时编写登录检查(并且已登录)。
感谢您的帮助(提前!)
答案 0 :(得分:0)
验证您的CONSTANT是否已定义,例如:
...
if (defined('LOGGED_IN')) { // exists?
if (!LOGGED_IN) { // if false, keep doing ..
... code and more code ...
}
...