PHP - 无法结束会话

时间:2017-02-27 12:07:32

标签: php session logout unset

登录后我的网站上有一个链接,指向" index.php?logout = yes",然后在我的index.php中我有以下代码:

  motorStart();

QString msv = "msv?0;";
loadcellPort->write(msv.toStdString().c_str(),msv.length());

plotFlag = true;
newPlot = true;

ui->startButton->setEnabled(false);
ui->cancelButton->setEnabled(false);

QTimer::singleShot(5000,this,SLOT(onSerialLoadcellData()));

QMessageBox::information(this,"Bastak Test",json_map["QWater"].toString(),json_map["QFinishAccept"].toString());

为什么它会让您登录并且不会结束会话?

4 个答案:

答案 0 :(得分:1)

如果是,则这是index.php中的第一行代码 标题('位置:/'); 而不是用于刷新的元标记

答案 1 :(得分:0)

请检查:session_destroy

  

为了完全终止会话,要将用户注销,还必须取消设置会话ID。如果使用cookie来传播会话ID(默认行为),则必须删除会话cookie。 setcookie()可以用于此。

试试这个

session_unset(); //or unset($_SESSION);
session_destroy();
session_commit(); // or session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);

header('location: index.php');

答案 2 :(得分:0)

注销后,将用户重定向到主页(例如)

在使用之前始终开始会话

<php 
session_start();   
if ($_GET['logout'] == "yes") {
   session_unset();
   session_destroy();
   session_write_close();
   setcookie(session_name(),'',0,'/');
   session_regenerate_id(true);
   header('location: index.php');
}

答案 3 :(得分:-1)

public function logout(){

    $this->session->set_userdata(array(
        'user_id'       => '',
        'fname'         => '',
        'lname'         => '',
        'gender'        => '',
        'username'      => '',
        'user_comp_id'  => '',
        'user_role'     => '',
        'validated'     => false,
        'plan_name'     => '',
        'plan_restriction' => '',
        'module_leave_bank' => '',
        'module_custom_logo' => '',
        'module_bulk_import' => '',
        'module_custom_rules' => '',
        'module_reports_download' => '',
        'module_integrations' => '',
        'module_chat_support' => '',
        'module_phone_support' => '',
        'users_limit'       => '',
        'leave_policies_limit' => '',
        'ous_limit'         => '',
        'sub_ous_limit'     => '',
        'leave_requests_limit' => '',
        'holidays_limit'    => '',
        'users_count'       => '',
        'leave_policies_count' => '',
        'ous_count'         => '',                       
    ));
    $cookies_id = $this->input->cookie('ci_session', TRUE);
    // $this->db->delete('user_logged_in',array('cookie' => $cookies_id)); // delete the cookies in database
    $this->session->sess_destroy();

    redirect('login', 'refresh');
}