【发布时间】:2013-11-19 22:06:43
【问题描述】:
我在使用代码点火器破坏 php 中的会话时遇到问题。我使用了给定的代码: 控制器:home.php
public function logout()
{
$this->load->library('session');
$this->session->sess_destroy();
$this->session->set_flashdata('msg','Please login to continue');
redirect(base_url().'home/index','refresh');
}
在视图中:profile.php
<a href="<?php echo base_url();?>home/logout">Logout</a>
单击“注销”后,页面将重定向到“主页/索引”页面,如控制器 home.php 中的注销功能所述。但是当我在浏览器中单击后退按钮时,页面被定向到配置文件页面(用户登录时加载的页面。)请告诉我答案,如何销毁该会话以及为什么我的 flashdata 也不起作用。
【问题讨论】:
-
我认为你需要一个前导斜杠,因为
base_url不包含斜杠 -<a href="<?php echo base_url();?>/home/logout">Logout</a> -
斜杠不是问题,因为函数 logout() 被调用并且页面被重定向到'home/index'。
-
您在销毁会话后尝试设置 flashdata。阅读ellislab.com/codeigniter%20/user-guide/libraries/sessions.html 上的“销毁会话” - 此函数应该是最后一个调用的函数,甚至 flash 变量也将不再可用
标签: php