Срок действия только одной выбранной переменной внутри $ _SESSION (вместо всей $ _SESSION)

Я пишу программу, где мне нужно истечь выбранной переменной в $_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() ) { ...

Есть лучший способ сделать это? Мое решение кажется немного грязным, поскольку требует создания большого количества ненужных переменных сеанса.

0

Решение

использование unset, Попробуйте с —

if ( $_SESSION['trial_period_credits_expire'] < time() ) {
unset($_SESSION['trial_period_1']);
unset($_SESSION['trial_period_credits']);
}
1

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

определить ключ и использовать 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.
}
0

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