Сколько искал скрипт Online/Offline для PHP, ни разу не видел.. Вот решил поделиться своим. Скрипт написан лично мною..
Создаем файл userstatus.php и кидаем туда:
Код
<?php
session_start();
include ("bd.php");
$today = date("U");
$totime = date("H:i:s",time()+3*3600);
$olddate = date("d.m.Y");
$id = $_SESSION['id'];
$timeold = mysql_query("UPDATE usersinfo SET lastdate='$today' WHERE id='$id'");
$timeout = mysql_query("UPDATE usersinfo SET lasttime='$totime' WHERE id='$id'");
$olddatee = mysql_query("UPDATE usersinfo SET olddate='$olddate' WHERE id='$id'");
?>
include ("bd.php"); - ваше подключение к Базе Данных.
$_SESSION['id']; - получаем таким образом: $_SESSION['id']="Оператор который впишет ID пользователя";
Этот код ставим на те страницы где вы хотите что бы через указанное количество времени обновлялась информация о том онлайн ли пользователь:
Код
<script>
object = {
func: function() {
$.get("/userstatus.php");
function onAjaxSuccess(data)
{
} }
}
setInterval( object.func , 20000)
</script>
setInterval( object.func , 20000) - эта строка указывает интервал с которым будет отправляться запрос. (20000 = 20 секунд).
Вот этот код в то место где будет показывать онлайн ли сейчас пользователь:
Код
<?php
$id = $_SESSION['id'];
$userinfo = mysql_query("SELECT lastdate FROM `usersinfo` WHERE id='$id'");
$userinfodat = mysql_fetch_array($userinfo);
$today = date("U");
if($userinfodat['lastdate'] + 100 < $today) {
echo "<div class='offlineStatus'></div>";
} else {
echo "<div class='onlineStatus'></div>";
};
?>
$userinfodat['lastdate'] + 100 < $today - это означает что если последнее время которое было записано в бд + 100 секунд меньше чем нынешнее время, то помечаем что пользователь Оффлайн.
Это добавляем в ваш CSS:
Код
.onlineStatus {background:#4dbd21;width:10px;height:10px;border-radius:5px;}
.offlineStatus {background:#ff0700;width:10px;height:10px;border-radius:5px;}
Настраиваем phpMyAdmin:
Создаем таблицу с названием
usersinfo и создаем такие поля с такими же параметрами как на скрине:
Автор скрипта BlackPh.. При копировании указывайте автора!