Я пишу программу, где мне нужно истечь выбранной переменной в $_SESSION
массив.
Теперь я знаю, как истечь весь $_SESSION
переменная, но моя потребность селективный, то есть, только срок действия $_SESSION['trial_period_1']
, $_SESSION['trial_period_credits']
Переменные через 1 день.
Я хочу, чтобы пользователь оставался в системе, просто хочу, чтобы переменная пробного периода заканчивалась (время ожидания сеанса составляет 1 месяц).
Я думал о том, чтобы сделать это таким образом, но решил спросить, так как уверен, что кто-то знает более изящное решение для этого.
$_SESSION['trial_period_credits'] = 4;
$_SESSION['trial_period_credits_expire'] = time() + 86400;
Затем проверяйте это каждый раз для каждой переменной
if ( $_SESSION['trial_period_credits_expire'] < time() ) { ...
Есть лучший способ сделать это? Мое решение кажется немного грязным, поскольку требует создания большого количества ненужных переменных сеанса.
использование unset
, Попробуйте с —
if ( $_SESSION['trial_period_credits_expire'] < time() ) {
unset($_SESSION['trial_period_1']);
unset($_SESSION['trial_period_credits']);
}
определить ключ и использовать unset
:
if ( $_SESSION['trial_period_credits_expire'] < time() ) {
unset($_SESSION['trial_period_1']);// will unset the $_SESSION for key trial_period_1 only.rest of the $_SESSION will remain.
}