Heim >php教程 >php手册 >利用Jquery+php显示当前在线用户

利用Jquery+php显示当前在线用户

WBOY
WBOYOriginal
2016-06-21 08:57:25921Durchsuche

利用Jquery框架,Ajax调用当前在线用户

function UpdateOnline(){

  1.    if (arguments[0]==true){
  2.        $.ajax({
  3.            url:'ajax.php?do=updateonline',
  4.            type:'GET',
  5.            success:function(){
  6.                $('#updateonline').html(arguments[0])
  7.            }
  8.        }
  9.        );
  10.    }else{
  11.        $.ajax({url:'ajax.php?do=updateonline',type:'GET'});
  12.    }
  13. }

这个updateonline是div的ID。还有就是调用这个函数!
  1. $(document).ready(function(){
  2.    UpdateOnline(true);
  3.    window.setInterval("UpdateOnline(true)",60000);
  4. });

下面是服务端处理代码:
  1. $Now=time();
  2. $FileName='online.xml';
  3. $XML=new DomDocument;
  4. $XML->load($FileName);
  5. $Items=$XML->getElementsByTagName("item");
  6. $I=0;
  7. $AddXML=true;
  8. foreach ($Items as $Item){
  9.    $IP=$Item->childNodes->item(0)->nodeValue;
  10.    $Time=$Item->childNodes->item(1)->nodeValue;
  11.    if($IP==GetIP()){
  12.        $AddXML=false;
  13.    }
  14.    if($IP==@$_SESSION['IP']){
  15.        $XML_Online=$XML->getElementsByTagName("online")->item(0);
  16.        $XML_Online_Item_Select=$XML->getElementsByTagName("item")->item($I);
  17.        $XML_Online_Item=$XML->createElement("item");
  18.        $NewIP=$XML->createElement("ip",$IP);
  19.        $XML_Online_Item->appendChild($NewIP);
  20.        $NewTime=$XML->createElement("time",$Now);
  21.        $XML_Online_Item->appendChild($NewTime);
  22.        $XML_Online->replaceChild($XML_Online_Item,$XML_Online_Item_Select);
  23.        $XML->save($FileName);
  24.    }
  25.    if(round(($Now-$Time)/60)>1){
  26.       $Item=$XML->documentElement->getElementsByTagName("item")->item($I);
  27.       $XML->documentElement->removeChild($Item);
  28.       $XML->save($FileName);
  29.    }
  30.    $I++;
  31. }
  32. if($AddXML){
  33.        $XML->formatOutput = true;
  34.        $XML_Online=$XML->getElementsByTagName("online")->item(0);
  35.        $XML_Online_Item=$XML->createElement("item");
  36.        $XML_Online_Item_IP=$XML->createElement("ip",GetIP());
  37.        $XML_Online_Item->appendChild($XML_Online_Item_IP);
  38.        $XML_Online_Item_Time=$XML->createElement("time",$Now);
  39.        $XML_Online_Item->appendChild($XML_Online_Item_Time);
  40.        $XML_Online->appendChild($XML_Online_Item);
  41.        $XML->save($FileName);
  42.        $_SESSION['IP']=GetIP();
  43. }
  44. if($Items->length==0){
  45.    echo'1';
  46. }else{
  47.    echo $Items->length;
  48. }
  49. unset($Now,$FileName,$XML,$Items,$I,$AddXML);

配合了session来存储IP地址以区分用户。

下面是XML文件
  1. 127.0.0.1



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn