2015-07-23 1 views
0

Я новичок в php, и у меня есть вопрос. Так, например, у меня есть в массиве сеанса переменного вызов game_url:Удалить данные сеанса через 2 мин в php

$_SESSION['game_url'] = $_SERVER['HTTP_REFERER']; 

Можно ли сделать $_SESSION['game_url'] = ''; после 2 мин после того, как он установлен? Любая помощь будет оценена по достоинству.

+2

http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes – tesst

+0

пожалуйста показывают нам, что вы пытались и как вы хотите используй это. Просто с нуля я бы рекомендовал AJAX для такого рода вещей. – DocRattie

+0

Вы можете сохранить текущее время в сеансе, и когда кто-то проверяет это через 2 минуты, вы просто проверяете разницу во времени и делаете ее пустой. –

ответ

1
if (!isset($_SESSION['game_url'])) 
{ 
    $_SESSION['LAST_ACTIVITY'] = time(); 
    $_SESSION['game_url'] = $_SERVER['HTTP_REFERER']; 
} 
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 120)) 
{ 
    unset($_SESSION['game_url']); 
    unset($_SESSION['LAST_ACTIVITY']); 
} 
+0

В теории это работает, на практике я бы избегал ключа «LAST_ACTIVITY», поскольку он звучит как нечто достаточно распространенное, чтобы быть перезаписанным каркасом/библиотекой. – apokryfos

Смежные вопросы