【发布时间】:2013-04-18 14:41:32
【问题描述】:
我正在尝试创建一个用户应该能够注册、登录和注销的网页。这一切都很好,但是,用户需要按两次“退出”按钮才能重新加载页面,或者至少我是这样认为的......
这里有一些代码:
这是我的页面顶部,带有登录/注销选项
<div id="topmenu">
<?php
if(!isset($_SESSION['check'])) {
echo ' Welcome, <a href="/index.php/login/">Log In</a> <a href="/index.php/register/">Register</a> ';
}
else {
echo ' Welcome, ' .$_SESSION['name'] .'! <a href="/index.php/login/destroy/">Sign Out</a>';
}
?>
</div>
以下是登录控制器中的destroy函数的作用
public function destroy()
{
session_destroy();
$this->load->view('frontpage');
}
当按下退出按钮时,会加载首页视图,但是顶部的这个栏(顶部菜单 div)保持不变,并且仍然显示退出选项,即使会话已被破坏
【问题讨论】:
-
如果你此时只是加载一个视图,我猜仍然会设置所有内部变量。不要在此处加载视图,而是重定向到首页,以便发出新请求,CI 可以从一开始就确定没有登录用户。
标签: php codeigniter session