运行此代码时,我没有收到任何错误:
function CheckLogin()
{
if(!isset($_SESSION)){session_start();}
$sessionvar = $this->GetLoginSessionVar();
if(empty($_SESSION[$sessionvar]))
{
return false;
}
return true;
}
function GetLoginSessionVar()
{
$retvar = md5($this->rand_key);
$retvar = 'usr_'.substr($retvar,0,10);
echo "$retvar";
return $retvar;
}
答案 0 :(得分:2)
代码运行方式没有任何问题,所以我猜你必须使用它。
我从你向我们展示的那个小创建了一个虚拟类,当它像这样使用时它工作正常
class muppet {
protected $rand_key = 'kermit';
function CheckLogin()
{
if(!isset($_SESSION)){session_start();}
$sessionvar = $this->GetLoginSessionVar();
if(empty($_SESSION[$sessionvar]))
{
return false;
}
return true;
}
function GetLoginSessionVar()
{
$retvar = md5($this->rand_key);
$retvar = 'usr_'.substr($retvar,0,10);
echo "$retvar";
return $retvar;
}
}
如果你这样运行
$login = new muppet();
$areWeLoggedIn = $login->CheckLogin();
echo $areWeLoggedIn ? 'Logged In' : 'Not Logged In';
您应该看到消息Not logged In
:
如果您像这样运行,我正在创建一个用户帐户,使其看起来像我在这里登录!!!
session_start();
$_SESSION['usr_d1798f4110'] = 'Im Free';
$login = new muppet();
$areWeLoggedIn = $login->CheckLogin();
echo $areWeLoggedIn ? ' Logged In' : ' Not Logged In';
您应该会看到Logged In
消息。