$_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']);
我即将更新我的网站,因为我已经离岸了一些代码,所以它需要继续工作...
我现在的问题是,当新用户访问我的网站时我想更新统计数据,但它没有进入 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']);