利用Jquery+php显示当前在线用户
程序员文章站
2024-01-23 15:34:10
...
利用Jquery框架,Ajax调用当前在线用户
这个updateonline是div的ID。还有就是调用这个函数!
下面是服务端处理代码:
配合了session来存储IP地址以区分用户。
下面是XML文件
function UpdateOnline(){
- if (arguments[0]==true){
- $.ajax({
- url:'ajax.php?do=updateonline',
- type:'GET',
- success:function(){
- $('#updateonline').html(arguments[0])
- }
- }
- );
- }else{
- $.ajax({url:'ajax.php?do=updateonline',type:'GET'});
- }
- }
这个updateonline是div的ID。还有就是调用这个函数!
- $(document).ready(function(){
- UpdateOnline(true);
- window.setInterval("UpdateOnline(true)",60000);
- });
下面是服务端处理代码:
- $Now=time();
- $FileName='online.xml';
- $XML=new DomDocument;
- $XML->load($FileName);
- $Items=$XML->getElementsByTagName("item");
- $I=0;
- $AddXML=true;
- foreach ($Items as $Item){
- $IP=$Item->childNodes->item(0)->nodeValue;
- $Time=$Item->childNodes->item(1)->nodeValue;
- if($IP==GetIP()){
- $AddXML=false;
- }
- if($IP==@$_SESSION['IP']){
- $XML_Online=$XML->getElementsByTagName("online")->item(0);
- $XML_Online_Item_Select=$XML->getElementsByTagName("item")->item($I);
- $XML_Online_Item=$XML->createElement("item");
- $NewIP=$XML->createElement("ip",$IP);
- $XML_Online_Item->appendChild($NewIP);
- $NewTime=$XML->createElement("time",$Now);
- $XML_Online_Item->appendChild($NewTime);
- $XML_Online->replaceChild($XML_Online_Item,$XML_Online_Item_Select);
- $XML->save($FileName);
- }
- if(round(($Now-$Time)/60)>1){
- $Item=$XML->documentElement->getElementsByTagName("item")->item($I);
- $XML->documentElement->removeChild($Item);
- $XML->save($FileName);
- }
- $I++;
- }
- if($AddXML){
- $XML->formatOutput = true;
- $XML_Online=$XML->getElementsByTagName("online")->item(0);
- $XML_Online_Item=$XML->createElement("item");
- $XML_Online_Item_IP=$XML->createElement("ip",GetIP());
- $XML_Online_Item->appendChild($XML_Online_Item_IP);
- $XML_Online_Item_Time=$XML->createElement("time",$Now);
- $XML_Online_Item->appendChild($XML_Online_Item_Time);
- $XML_Online->appendChild($XML_Online_Item);
- $XML->save($FileName);
- $_SESSION['IP']=GetIP();
- }
- if($Items->length==0){
- echo'1';
- }else{
- echo $Items->length;
- }
- unset($Now,$FileName,$XML,$Items,$I,$AddXML);
配合了session来存储IP地址以区分用户。
下面是XML文件
-
127.0.0.1