В настоящее время я сохраняю сеанс на моей странице формы:
$ testvalue = "SESSION TEST";
$ _SESSION ['testing'] = $ testvalue;
На другой странице я вызываю сессию для использования значения:
<?php session_start(); // make sure there is a session echo $_SESSION['testing']; //prints SESSION TEST??? ?>
Теперь я хочу использовать
session_destroy ();
для уничтожения сеанса. Но то, что я хотел бы сделать, это уничтожить сеанс после того, как прошло 2 часа.
Любая идея о том, как это сделать, а также где я должен ее поместить?
У меня есть что-то вроде этого:
<?php session_start(); // 2 hours in seconds $inactive = 7200; $session_life = time() - $_session['testing']; if($session_life > $inactive) { session_destroy(); } $_session['testing']=time(); echo $_SESSION['testing']; //prints NOTHING? ?>
Будет ли это работать?
Если я неактивен более 2 часов, это должно быть пустым ?:
echo $ _SESSION ['testing'];
Что-то вроде этого должно работать
<?php // 2 hours in seconds $inactive = 7200; ini_set('session.gc_maxlifetime', $inactive); // set the session max lifetime to 2 hours session_start(); if (isset($_SESSION['testing']) && (time() - $_SESSION['testing'] > $inactive)) { // last request was more than 2 hours ago session_unset(); // unset $_SESSION variable for this page session_destroy(); // destroy session data } $_SESSION['testing'] = time(); // Update session
вам нужно статическое время начала до истечения срока действия. $session_life > $inactive
всегда будет больше независимо от того, что.
session_start(); $testingvalue = "SESSION TEST"; $_SESSION['testing'] = $testingvalue; // 2 hours in seconds $inactive = 7200; $_SESSION['expire'] = time() + $inactive; // static expire if(time() > $_SESSION['expire']) { $_SESSION['testing'] = ''; session_unset(); session_destroy(); $_SESSION['testing'] = '2 hours expired'; // test message } echo $_SESSION['testing'];
или session-set-cookie-params