我正在尝试创建一个注销链接,该链接包含在授权区域中。
授权区域如下:
<?php require_once '../../includes/initialize.php';
if(!$Session->is_logged_in()) { redirect_to('login.php'); }
$user = $User->find_by_id($Session->user_id);
?>
<!-------------- START OF LOGOUT LINK -------------->
<?php
if (isset($_GET['logout']))
{
$Session->logout($user);
$Logger->logout($user);
redirect_to('login.php');
}
?>
<p style="float: right;"><a href="?logout=true">Logout</a></p>
<!-------------- END OF LOGOUT LINK -------------->
<p>Welcome <?php echo $user->first_name; ?>, you are now logged into the admin area.</p>
上面的代码工作得很好!
但是,当我更改它,使注销链接是一个包含,我得到一个错误。这是我在包含文件logoutlink。php中写入的内容:
<?php
if (isset($_GET['logout']))
{
$Session->logout($user);
$Logger->logout($user);
redirect_to('login.php');
}
?>
<p style="float: right;"><a href="?logout=true">Logout</a></p>
然后将其包含在我的授权区域中,如下所示:
<?php require_once '../../includes/initialize.php';
if(!$Session->is_logged_in()) { redirect_to('login.php'); }
$user = $User->find_by_id($Session->user_id);
?>
<!-------------- START OF LOGOUT LINK -------------->
<?php include '../../includes/logoutlink.php'; ?>
<!-------------- END OF LOGOUT LINK -------------->
<p>Welcome <?php echo $user->first_name; ?>, you are now logged into the admin area.</p>
得到以下错误:
注意:未定义变量:Session…
和
致命错误:在非对象上调用成员函数logout()
谁能解释一下我错过了什么?谢谢你的帮助。尝试将global $Session;
设置在logoutlink.php
文件的顶部
我注意到您使用的是$Session,而不是$_Session。
如果$Session是用户在initialize.php中定义的变量,那么,试着把
require_once '../../includes/initialize.php';