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
вопрос прост (для тех, кто знает), я думаю, когда имеешь дело с любым типом времени, как ты можешь хранить его где-нибудь, чтобы значение не менялось после его установки? Я написал это так, потому что это будет использоваться не только для сессии, у меня есть несколько мест, которые мне нужно сравнить время.
*НОТА: я знаю, что могу хранить start_time + 5
значение в дБ, а затем получить его снова, чтобы заполнить переменную, НО Я хочу сделать это без БД.
if(!isset($_SESSION['start_time'])) {
$_SESSION['start_time'] = time();
}
Это предотвратит обновление вашего сеанса каждый раз, когда вы обновляете страницу. После его установки он не будет снова и снова устанавливаться в переменную сеанса при каждом обновлении страницы. Пожалуйста, дайте мне знать, если это работает.
Других решений пока нет …