PHP 5.4
我希望有start_time
& end_time
end_time
应该有start_time + 5
问题是每次刷新页面时,时间都会改变
我怎样才能让end_time
无法改变?
示例代码:
// Set timeout period in seconds
$_SESSION['inactive_amount'] = 5;
$inactive = $_SESSION['inactive_amount'];
$_SESSION['start_time'] = time();
$start_time = $_SESSION['start_time'];
$_SESSION['end_time'] = $start_time + $inactive;
echo "<pre>", print_r($_SESSION, true), "</pre>";
输出1:
Array
(
[inactive_amount] => 5
[start_time] => 1423701080
[end_time] => 1423701085
)
输出2 [刷新]:
Array
(
[inactive_amount] => 5
[start_time] => 1423701098
[end_time] => 1423701103
)
[end_time]
更改,因此永远不会达到使用[start_time] + 5 seconds
问题很简单(对于知道的人),我想在处理任何类型的时间时,如何将它存储在某个地方,以便在设置后值不会改变?我这样写的是因为它不仅仅用于会话,我还有多个地方需要比较时间。
*注意:我知道我可以在db中存储start_time + 5
值,然后再次检索它以填充var,但是我想这样做没有数据库。
答案 0 :(得分:2)
if(!isset($_SESSION['start_time'])) {
$_SESSION['start_time'] = time();
}
这将阻止每次刷新页面时更新会话时间。一旦设置,它将不会在每次刷新页面时反复设置为会话变量。如果有效,请告诉我。