Проверка онлайн ли пользователь в чате или нет
online.php
include_once 'config.php'; //подключение к бд
$id=$_POST['id']; //я по id добавляю пользователю время прибывания на сайте //каждые 8 секунд
$sql=mysql_query("UPDATE `users` SET `time`='".time()."' WHERE `id`='".$id."' LIMIT 1");
//вычисляю кого из пользователей присутствует на сайте больше 10сек
//а так же его id его id, логин и количество таких пользователей
$sql="SELECT `id`,`login`,`ur` FROM `users` WHERE `time`>'".time()."'-10 ORDER BY `ur` desc";
$result = mysql_query($sql, $dbcnx) or die(mysql_error());
$number = mysql_num_rows($result);//количество пользователей
while ($row = mysql_fetch_object($result)){
echo json_encode(array($row->id,$row->login,$number)); /передаю обратно в js
}
online.js
setInterval(function(){
$.ajax({
url : 'config/online.php',
dataType : 'json',
data : {id : $('.id').text()},/*передаю id к которому будет добовляться время*/
type : "POST",
success : function (data){
for(var i=0;i<data[2];i++){
if ($('.id'+data[0]).length == 0) {
$('.users').append("<div class='UConteiner'><p class='id id"+data[0]+"'>"+data[0]+"</p><p>"+data[1]+"</p></div>");
}
}
/*data[0] это id, data[1] это логин, data[2] - количество пользователей*/
}
});
}, 8000);
Получается так что я с начало захожу одним пользователем всё нормально....когда заходит второй пользователь то первый тоже становится вторым когда обнавляется страница...почему так происходит??? И пользователи не видят друг друга хотя консоль показывает их обоих и все параметры переданые
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.