似乎很傻但真的让我很困惑。 每次刷新都会让我陷入这种状况。
if(!isset($_SESSION)) {
session_start();
echo "Session turned on";
}
我尝试将条件更改为if(empty($_SESSION))
和
if (session_status() == PHP_SESSION_NONE)
,但每次内部的陈述都被执行。
我正在尝试增加计数器
<?php
if(!isset($_SESSION)) {
session_start();
echo "Session turned on";
}
$current_time=date('m-d-Y H:i:s');
echo $current_time;
if(!isset($_SESSION["counter"]["time"]))
{
$_SESSION["counter"]["time"]=date('m-d-Y H:i:s');
increamentCounter();
}
$diff = abs(strtotime($current_time) - strtotime($_SESSION["counter"]["time"]));
$time_in_minutes=$diff/60;
if($time_in_minutes>30)
{
unset($_SESSION["counter"]["time"]);
}
echo $time_in_minutes."<br>";
function increamentCounter()
{
$pre_counter_value = file_get_contents("counter.txt");
$counter_value = (int)$pre_counter_value+1;
file_put_contents("counter.txt", $counter_value);
}
echo file_get_contents("counter.txt");
?>
答案 0 :(得分:0)
在调用session_start()
之前,您正在检查会话变量,因此if条件将始终返回true。尝试:
session_start();
if(!isset($_SESSION)) {
echo "Session detected";
} else {
echo "No session";
}