Я просмотрел некоторые сообщения с похожими заголовками checking status of session with session id и How to tell if a session is active?, но они не кажутся конкретными для того, чего я пытаюсь достичь.Проверка состояния сеанса с помощью идентификатора сеанса
Я создаю тележку, в которой пользователи могут добавить ее независимо от того, вошли ли они в систему или нет - с помощью $_SESSION
и session_id()
.
Добавление элементов в корзину Добавить записи в таблицу покупок с идентификатором сеанса.
Короче говоря, как я могу определить из списка идентификаторов сеанса, какие сеансы активны и какие нет (для использования в crontab), чтобы я мог удалять избыточные элементы из таблицы корзины покупок в базе данных?
u хотите как активные, так и неактивные в сеансе? –
Ну, технически мне нужно только знать, какие из них неактивны, поэтому я могу удалить их из БД. – PavKR
Я не уверен, что вы можете получить список активных/истекших сессий в PHP. Но это то, что вы можете сделать: как только корзина будет инициализирована, сохраните идентификатор сеанса в таблице (я думаю, вы уже это делаете) ** с меткой времени ** (я думаю, вы еще не делаете _that_). И всякий раз, когда пользователь загружает обновление страницы, отметка времени (если пользователь тратит много времени на странице, вы можете отправлять вызовы ajax для периодического обновления сеанса). Определите порог для старых сеансов (например, 2 часа), а затем удалите сеансы старше этого порога (возможно, используя задание cron) из базы данных. Дай мне знать, если это работает. – Krumia