$_SESSION['exist']=true 即使没有设置

$_SESSION['exist']=true even if not set

我即将更新我的网站,因为我已经离岸了一些代码,所以它需要继续工作...

我现在的问题是,当新用户访问我的网站时我想更新统计数据,但它没有进入 if,因为 $_SESSION['exist'] 是正确的,即使没有说明.

我的代码如下所示:

<?php
session_start();

if(!isset($_SESSION['exist'])){ //it doesn't go in this if
    $_SESSION['exist'] = true;

    $today = date("Y/m/d");
    require(__DIR__ . '/./functions/select/stats/daily_view.php');
    $dailyview = selectDailyView();
    echo $dailyview['date'];
    if($dailyview['date'] != $today){
        //start COPY
        $dv = selectDailyView();
        require_once(__DIR__ . '/./functions/insert/stats/dailyview.php');
        insertDailyView($dv[0]['date'], $dv[0]['dailyview']);
        //end COPY
        require_once(__DIR__ . '/./functions/update/stats/reset_daily_view.php');
        updateResetDailyviewDate($today);
    }

    require_once(__DIR__ . '/./functions/update/stats/stats.php');
    updateStat('index');

    require_once(__DIR__ . '/./functions/update/stats/dailyview.php');
    updateDailyView();
}
?>

所以我试图注释掉除 session_start(); 之外的所有内容,并查看 $_SESSION 中存储的内容 我写了一个 var_dump($_SESSION); 并且它说

array(1){["exist"]=>bool(true)}

我尝试清除缓存、取消设置 $_SESSION、销毁会话...没有任何效果。使用 unset($_SESSION); 时,输出为 NULL,但是当我删除该行并重新加载页面时,输出仍然显示

array(1){["exist"]=>bool(true)}

你有什么想法吗?

你必须unset它:

unset($_SESSION['exist']);