PHP всякий раз, когда я вызываю $ var с time (), значение меняется

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 значение в дБ, а затем получить его снова, чтобы заполнить переменную, НО Я хочу сделать это без БД.

1

Решение

if(!isset($_SESSION['start_time'])) {
$_SESSION['start_time'] = time();
}

Это предотвратит обновление вашего сеанса каждый раз, когда вы обновляете страницу. После его установки он не будет снова и снова устанавливаться в переменную сеанса при каждом обновлении страницы. Пожалуйста, дайте мне знать, если это работает.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]