会话变量不更新

时间:2017-03-28 03:02:11

标签: php session

请检查下面的代码。当我退出时不会保存在mysql的logout列中。

$query = $DBcon->query("UPDATE logs SET logout = now() WHERE id={$_SESSION['userSession']}"); 

但是当我改为

$query = $DBcon->query("UPDATE logs SET logout = now() WHERE id='12'"); 

它有效。

谢谢你们。

1 个答案:

答案 0 :(得分:1)

在使用session_start();相关内容之前,您需要$_SESSION(位于脚本顶部);试试这个:

    if(session_status() == PHP_SESSION_NONE){
        session_start();
    }
    require_once 'dbconnect.php';


    if (!isset($_SESSION['userSession'])) {
        header("Location: login.php");

    }else if(isset($_SESSION['userSession'])!=""){
        header("Location: index.php");
    }

   if(isset($_GET['logout'])) {
      $query = $DBcon->query("UPDATE logs SET logout = now() WHERE id=  {$_SESSION['userSession']}");

    mysqli_query($query);

    unset($_SESSION['userSession']);
    session_destroy();
    header("Location: login.php");
}