Как добавить информацию в БД, по истечению Сессии(cron)?

интернет программирование php sql база данных

Как сделать с сессиями в php так чтобы после того как я закрою браузер, или просто закрою сайт, мне добавило в базу инфу. Просто я как понимаю, некоторые функции не будут же выполняться.

Пример, только он не работает почему то. Работает только если я буду обновлять страницу при установке времени самому. Или без ajax тут никак?

Или возможно я не знаю куда пихать $_SESSION['LAST_ACTIVITY'] = time(); ?

так как то что ниже это функция

public function funkcja ($sesja){

$_SESSION['LAST_ACTIVITY'] = time();
if (!isset($_SESSION['LAST_ACTIVITY']) || (time() - $_SESSION['LAST_ACTIVITY'] > 1800))
{
$be='new notes';
$query = $this->_db->prepare('INSERT INTO notes (title) VALUES (?)');
$query->execute(array($be));
}
}


$a=$_SESSION['user_id']
$lol= $pdo->funkcja($a);


Я понимаю, что сессию уже не можно будет опознать, да мне это и не нужно мне нужно просто, чтобы по истечении сессии или ее закрытии было добавлена инфа в БД.
Тем более что я могу просто приписать сессию к переменной и потом уже с ней работать.
$posesji=$_SESSION['user_id'];
....И так далее
Просто если сессия закроется, разве функция сможет быть выполнена.

Это я спрашиваю для того, чтобы например вывести инфу, что пользователь ушел с сайта.
Возможно есть проще решения, буду рад им.
Ответы:
Вам ведь уже не раз отвечали на этот вопрос.
Никакие $posesji=$_SESSION['user_id']; вас не спасут, потому как в момент присвоения сессия должна существовать и более того, к скрипту пользователь должен обратиться (т. е. сессия автоматом продляется). А потом скрипт выполнился и все его данные из памяти удалены будут.
Сложнее всего отловить событие "когда закроют страницу или закроют сайт". Сервер не получает в этот момент никаких оповещений. Проверить факт открытой страницы стандартными средствами HTTP невозможно. Даже в случае использования ajax или comet приходится регулярно слать на сервер микропакеты, подтвержающие, что пользователь "ещё тут".


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.