欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2024-01-23 15:34:10
...
利用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