在注销时会话没有被破坏?

时间:2016-11-17 09:52:16

标签: php codeigniter

我正在开发一个与核心php网站集成的codeigniter网站。问题是当我注销会话没有被破坏或未设置时,如果用户单击后退按钮,他/她可以返回内部页面,也不允许其他用户登录,因为会话已经在运行。

我已经尝试使用corephp取消设置并销毁会话但没有运气,请提出建议。

这是我的退出代码

        function logout()
    {
    session_start();

    $this->session->set_userdata('user_id','');
    $this->session->set_userdata('user_name','');
    $this->session->set_userdata('business_id','');
    $this->session->set_userdata('email','');
    $this->session->set_userdata('user_type','');
    $this->session->set_userdata('activation_status','');
    unset($_SESSION); 
    $this->session->sess_destroy();
      session_destroy();
    header('location:'.base_url().'Login');


     }

编辑:它适用于私人浏览器,但不适用于普通浏览器

3 个答案:

答案 0 :(得分:2)

Try something like this

$data = array(
'user_id' => '',
'user_name' => '',
'business_id' => '',
'email' => '',
'user_type' => '',
'activation_status' => '',    
);

$this->session->set_userdata('my_session',$data);

To Destroy Session

$this->session->sess_destroy('my_session');

答案 1 :(得分:0)

使用codeigniter会话库,它应该像

一样简单
function logout(){
    $this->session->sess_destroy();
    redirect('/');
}

确保在此控制器中加载了会话库(或自动加载)

$this->load->library('session');

此外,您可以在会话中取消设置单个项目,而不是在会话中设置空白用户数据

$this->session->unset_userdata('user_id');

答案 2 :(得分:0)

试试这个

private void intialiseMap() {

try {
if (dialog == null)
    dialog = ProgressDialog.show(ProfileActivity1.this, "",
            getString(R.string.getting_location), true, true);
}catch(Exception e) {
Log.e("eybaba",""+e);
}
    try {
        if (googlemap == null) {
            googlemap = ((MapFragment) getFragmentManager()
                    .findFragmentById(R.id.mapfragment)).getMap();
            googlemap.setInfoWindowAdapter(new CustomInfowindow(context));
            // check if map is created successfully or not
            if (googlemap == null) {
                Toast.makeText(getApplicationContext(),
                        R.string.maps_create_error, Toast.LENGTH_SHORT)
                        .show();
            }
        }
    } catch (Exception e) {
    }
}