Php 用户登录时,其他页面上的Codeigniter 3会话数据
这里有一个问题(很抱歉这么愚蠢),最近刚从Codeigniter开始 我有一个登录系统工作良好。我试图在使用index-header.php上的代码登录时转到主页:Php 用户登录时,其他页面上的Codeigniter 3会话数据,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,这里有一个问题(很抱歉这么愚蠢),最近刚从Codeigniter开始 我有一个登录系统工作良好。我试图在使用index-header.php上的代码登录时转到主页: <?php if( !isset($_SESSION) ){ echo '<a href="login" class="popupbox">Login</a>'; } else { echo '<a href="dashboard/logout">Log Out</a
<?php
if( !isset($_SESSION) ){
echo '<a href="login" class="popupbox">Login</a>';
} else {
echo '<a href="dashboard/logout">Log Out</a>';
}
?>
现在,如果我在仍然登录的情况下单击“从主页注销”,它将断开会话连接,但在刷新后不会将主页中的文本更改回“登录”。
换句话说,无论用户是否登录,它总是将文本显示为“注销”
dashboard.php(控制器)
创建一个单独的文件是不是一个好的做法?如果是,那么如何将会话链接到它?使用
$this->session->sess_destroy()代码>终止会话。检查URL。通过控制器终止会话,然后使用重定向
顺便说一下,在application/core
文件夹下创建一个名为MY_Controller.php
的文件,并在上面创建会话内容。如果您想了解更多信息,只需在谷歌上搜索即可。更改此选项:
<?php
if( !isset($_SESSION) ){
为什么在你的index header.php中有这么多
?你在哪里设置会话?@kheshavsewundun,刚刚修复了phpsss。@rakesharma,谢谢你的回复。我想这就是我的问题所在。我应该创建一个专用的is_logged_in控制器连接到所有其他文件吗?通过一点智能代码缩进,它使代码更容易阅读,更重要的是更容易调试CI 3有了新的所有者,你建议使用一个旧的链接吗?谢谢,我已经有了它$this->session->sess_destroy()代码>我看不到它。你能在这里添加所有相关代码吗?嗨@DenizB.,刚刚添加的。但它在仪表板控制器上。这有什么不同吗?非常感谢@Dray,它成功了!!所以CI不理解本机php命令,它有自己的。@CodeIgniter如果理解了,您可以接受它作为答案,以便人们以后参考。:)@CodeIgniter否如果您尝试打印\r($\u会话),CI仍然存在会话;我想它会打印ci_生成,所以如果你需要检查会话,你需要明确。
public function logout() {
$this->session->sess_destroy();
$data['title'] = "Logged out";
$data['logout_msg'] = "You have successfully logged out.";
$this->load->view('headfoot/header-login',$data);
$this->load->view('admin/login', $data);
$this->load->view('headfoot/footer-login');
}
<?php
if( !isset($_SESSION) ){
<?php if($this->session->userdata('username') == null ){