2009-12-09 8 views
0

У меня есть функция аутентификации. Пользователь автоматически выйдет из системы через 30 минут. Я хотел бы сохранить время входа (timestamp?) В функцию аутентификации. Затем я обновляю это время каждый раз, когда вызывается функция, требующая аутентификации. Если прошло 30 минут со времени последнего вызова, оно будет автоматически повторно проверено. Я сохраню последнюю метку времени или дату в глобальной переменной. Я ищу примеры кода, показывающие хороший способ:В PHP пример проверки, чтобы проверить, прошло ли 30 минут?

1) Сохраните дату или временную метку при аутентификации или последнем вызове функции в глобальной переменной 2) Сравните текущее время с последним вызовом, чтобы узнать, прошло ли 30 минут ,

Благодаря

ответ

8

Что вам нужно сделать здесь, чтобы сохранить метку времени в сессии, с тем, что он может сохраняться между pageloads. Чтобы сохранить текущую метку времени в сеансе просто сделать следующее:

$_SESSION['lastAuthTimestamp'] = time(); 

Затем, когда вы хотите, чтобы увидеть, если его было более 30 минут с момента последнего AUTH вы можете просто сделать это:

if((time() - $_SESSION['lastAuthTimestamp']) > 30*60) 
{ 
    //more then 30min has passed 
} 
Смежные вопросы