php 如何显示在线用户数量以及用户信息

php 如何显示在线用户数量以及用户信息,第1张

要使用数据库,建立一个表,比如名字是online,至少有以下列:

name_ip 存放登录用户名,未登录的存放IP,char类型

url 存放每个页面的地址,char类型

last_time 存放刷新页面的最后时间,int类型

表的主键是:name_ip+url

每个页面一开始就要刷新这个表,使用的SQL是:

$name_ip='用户名或者IP';//你能搞定

$url=$_SERVER["PHP_SELF"];

$time=time();

$sql="replace delayed into online (name_ip,url,last_time) values ('$name_ip','$url',$time)";

mysql_query($sql);

获取某页面在线人数的查询是语句

$limit=time()-1060;//10分钟内访问的认为在线,10分钟60秒/分钟

$sql="select count() from online where url='$url' and last_time>=$limit";

$res=mysql_query($sql);

list($online_count)=mysql_fetch_row($res);

mysql_free_result($res);

echo "本页面在线人数: $online_count";

在check中当验证通过后在sql语句下就用session("变量名")进行保存用户名,密码

Set rs=ServerCreateObject("ADODBRecordSet")

rsOpen "SELECT FROM 表 WHERE [name]='"&strusername&"' AND [pwd]='"&strpassword&"'", objConnection

If Not rsEof Then

session("name")=rs("name")

session("pwd")=rs("pwd")

ResponseRedirect("asp")

else

responsewrite "<SCRIPT>alert ('您的权限不够,请与管理员联系!');parentlocation='javascript:historygo(-1)'</SCRIPT>"

end if

rsClose

Set rs=Nothing

avaxwebsocketHandshakeResponse;

import javaxwebsocketserverHandshakeRequest;

import javaxwebsocketserverServerEndpointConfig;

import javaxwebsocketserverServerEndpointConfigConfigurator;

/

获取>

用户登录的时候连接服务器,服务器建立一个全局静态Map , key可以使用用户的唯一标示,比如账号,value根据自己要求定,可以使自己定义的用户对象(这样用户多了,Map数据会过大),可以写用户在数据库的id(主键)(也可以写账号,可以通过账号获取用户信息)。当用户登录的时候,如果登录成功,把这个用户put(添加)到Map中,如果有用户推出,就从Map中移除,在线用户的信息,就在Map中,可以供其他类,方法是用这个Map获取在线用户,具体用户信息,可以通过Map中的value或key查询

可以用ServletContext来实现 在ServletContext设置一个变量 如果有人打开这个servlet 就在ServletContext 里记录一下 如果有其他人在访问这个servlet 这个变量已经存在的话就不允许方法 只有访问那个人退出页面的时候在给服务器返回一个消息删除

回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

以上就是关于php 如何显示在线用户数量以及用户信息全部的内容,包括:php 如何显示在线用户数量以及用户信息、asp登录后如何获取用户信息(在线等)、java websocket怎么获得在线的用户等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9451076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存