Файл: sys/session_chat.php
Строк: 23
<?php
if(check($_COOKIE['login']) == ''){} else {
// Начинаем сессию
// Получаем уникальный id сессии
$id_session = session_id();
$ip_new_user = check($_COOKIE['login']);
// Устанавливаем соединение с базой данных
// Проверяем, присутствует ли такой id в базе данных
$query = "SELECT * FROM session_chat
WHERE id_session = '$id_session'";
$ses = mysql_query($query);
if(!$ses) exit("<p>Ошибка в запросе к таблице сессий</p>");
// Если сессия с таким номером уже существует,
// значит пользователь online - обновляем время его
// последнего посещения
if(mysql_num_rows($ses)>0)
{
$query = "UPDATE session_chat SET putdate = NOW(), user = '$ip_new_user' WHERE id_session = '$id_session'";
mysql_query($query);
}
// Иначе, если такого номера нет - посетитель только что
// вошёл - помещаем в таблицу нового посетителя
else
{
$tec = mysql_query('SELECT * FROM session_chat WHERE user = "'.check($_COOKIE['login']).'"');
$tec = mysql_fetch_assoc($tec);
if(empty($tec['user'])){
$query = "INSERT INTO session_chat VALUES('$id_session', NOW(), '$ip_new_user')";
if(!mysql_query($query))
{
echo $query."<br>";
echo "<p>Ошибка при добавлении пользователя</p>";
exit();
}
}
}
}
// Будем считать, что пользователи, которые отсутствовали
// в течении 20 минут - покинули ресурс - удаляем их
// id_session из базы данных
$query = "DELETE FROM session_chat WHERE putdate < NOW() - INTERVAL '5' MINUTE";
mysql_query($query);
?>