Статус Online/Offline на PHP

5189
5.6 из 10
Проголосовало: 24





Сколько искал скрипт 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.. При копировании указывайте автора!
Автор публикации: Загрузка
Загрузка
BlackPh, это его n материал
  • Всего комментариев: 6

BlackPh
0
BlackPh написал: в материале Написано 23 мая 2013 в 01:36
Комментарий №6
Как писал скрипт, изначально сделал так как ты написал..
Но он у меня почему то не работал. Я перерыл весь скрипт а потом решил сделать по отдельности эти запросы. И он заработал. Вот почему я выложил именно в таком виде.

BlackPh
0
BlackPh написал: в материале Написано 22 мая 2013 в 23:14
Комментарий №5
Забыл..
$userinfodat['today']; - Выводит дату последнего входа.
$userinfodat['totime']; - Выводит время последнего входа.
Пример вывода данных: echo "$userinfodat[today] в $userinfodat[totime]";

OkiMoTo
0
OkiMoTo написал: в материале Написано 22 мая 2013 в 20:48
Комментарий №2
Как это относиться к ucozy то?)

Goodmind
+2
Goodmind написал: в материале Написано 22 мая 2013 в 21:11
Комментарий №3
У админа просто нет других категорий, зациклился он на юкозе biggrin

BlackPh
0
BlackPh написал: в материале Написано 22 мая 2013 в 23:02
Комментарий №4
Покупаешь PHP и на все 100% относиться.. wacko

alex0005
-4
alex0005 написал: в материале Написано 22 мая 2013 в 19:50
Комментарий №1
Смысл? Я вижу, что вы его тоже не видите :3

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2126
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 433
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • dalamkontak написал:
  • Попробуйте социальную сеть Dalam Kontak !
    Сайт сети: Dkon.app
  • mrnoobsky написал:
  • Это моя работа, которая велась давольно таки давно smile Времени было мало, поэтому я скачал полностью все, что было и сделал архив happy
  • Snoopak написал:
  • 111 мегабайт? wtf? Что в архив напихали?
  • mrnoobsky написал:
  • Левое меню это BLG. Возможны какие-то баги, но в целом все должно работать корректно!
  • geleson2222 написал:
  • ?
    Последние темы
    Опрос
    337
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей:
    • Обратная связь
    • Правила
    • RSS
    • +18
    • Мобильная версия
    • Хостинг от uCoz
    • Хостинг от uCoz
    • Copyright - webo4ka.ru © 2010-2025 г.
    • Design by Вовчик
      Администратор:)