2016-02-02 3 views
-1

я хочу не онлайн пользователей в админ страницу с помощью PHP Я изо всех сил старался это моя домашняя страница пользователя: home.phpPHP AJAX - подсчет пользователей онлайн

{function updatetime(){ 
    $.ajax({ 
     url:'update-status.php', 
     success:function(data){ 

     } 
    }); 
} 
setInterval(updatetime,30000);} 

обновление-status.php

$a=$_SESSION['user']; 
$p="update user set logg='".time()."' where userid='$a'"; 
mysqli_query($con,$p); 

В странице администратора: adhome.php

{function online() 
{ 
    $.ajax({ 
     url:'online.php', 
     success:function(data){ 
      $(#rcon).html(data); 
     } 
    }); 
} 
setInterval(online,30000);} 

online.php:

$a=$_SESSION['user']; 

    $m1="SELECT * from user where userid='$a'"; 

     echo $m2=mysqli_query($con,$m1) or die(mysqli_error($con)); 
      $m3=mysqli_num_rows($m2); 
      $m4=mysqli_fetch_array($m3) or die(mysqli_error($con)); 
      if($m3==1) 
      { 
      $b=time()-$m4['logg']; 
      if($b<(120)) 
       { 
       $un= $m4['uname']; 
       echo '<tr><td>'.$un.'</td></tr>'; 
       } 
      }enter code here 

Он не показывает ошибку я не получаю пользователя в админ страницу Bt дб обновляет , а также, пожалуйста, объясните время() - $ m4 [ «LOGG»]. Я искал много, они меня не удовлетворили.

+2

Так по _I заявление попытались hard_ то, что вы на самом деле означает вы скопировали много кода, и теперь вы нашли некоторых, которых вы действительно не понимаете, хотите, чтобы кто-то объяснил это вам. Почему бы не спросить человека, у которого вы его забрали? – RiggsFolly

+1

Код 'online.php' в безнравственности, поэтому начните с того, что подумайте, что именно вы действительно хотите, чтобы этот код делал и начинал заново. Я считаю, что процесс называется _ReFactoring_ – RiggsFolly

+0

Я могу сделать это, используя сеанс. Bt Я хочу попробовать использовать ajax. Честно говоря, я не знаю аякса. Я просто изучаю это. Можете ли вы объяснить мне с помощью ajax? –

ответ

-1

PHP и Ajax - это плохая идея подсчета текущих онлайн-пользователей, так как это может привести к высокому процессору и оперативной памяти.

Лучшим решением является node.js с socket.io. (http://socket.io)

С помощью socket.io вы можете создать очень быстрый счетчик онлайн-пользователей без использования большого сервера и полосы пропускания.

Статистика: Node.js и Socket.io может обрабатывать easyly более чем 5,000 соединений с примерно 12Мб/с пропускной способностью и 16 Гб оперативной памяти и процессор Inter I7

+1

Только 16Gig RAM, ничего себе, что бы я дал за 16Gig RAM – RiggsFolly

+0

Да 16GB Ram правильно, поэтому я его прочитал. Он также может обрабатывать 600 000 соединений с лучшим сервером. Http://www.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/ –

+0

Да, я просто комментировал что 16GIG RAM не является небольшим количеством ОЗУ, его большой объем оперативной памяти, особенно если он участвует в общем плане хостинга, – RiggsFolly

Смежные вопросы