Проверить, используется ли PHP SessionID? - PullRequest
0 голосов
/ 18 июля 2011

в одном из моих проектов я храню временные данные в базе данных с помощью sessionId, и мне нужно удалить их, если его sessionId не используется, есть ли простой способ проверить, используется ли идентификатор сессии?

Ответы [ 3 ]

1 голос
/ 18 июля 2011

Вы можете назвать свою сессию с помощью session_name ([string $ name]),

пример: session_name('myname'),

, а затем просто проверить, существует ли идентификатор сессии для этого имени с помощьюsession_id ([строка $ id]),

пример:

if(session_id('myname') != "")
       echo session_id('myname');
         else
      //your code here
1 голос
/ 18 июля 2011

Сохранение последней доступной метки времени и удаление тех строк, время которых на X минут раньше, чем текущее время.

0 голосов
/ 18 июля 2011

Есть ли простой способ проверить, используется ли идентификатор сеанса?

Если вы используете обработчик сеанса по умолчанию, тогда проверьте, присутствует ли файл сеанса и был ли он изменен с момента time () - session_cache_expire ().

Однако гораздо лучшим решением было бы использование привязанного к базе данных обработчика сеанса.Это гораздо более гибко, когда вы пытаетесь просмотреть данные сеанса извне сеанса, вы можете просто выполнить простое объединение, чтобы найти совпадающие данные, но правильный способ решения проблемы - реализовать код управления сеансом в обработчике сеанса (т.е. удаляем данные при удалении сеанса)!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...