当前位置:首页 » 编程语言 » php判断是否在线

php判断是否在线

发布时间: 2024-11-10 18:02:19

php 如何得知ip是否在线

比较简单的就是数据库存session,默认的session都是在文件里存放着

客户端请求你的站点,会自动创建一个session,(不管是不是你的会员都会自动创建session)。

1,你需要一个可以实现session入库的类,此类很多,实现原理其实很简单,你也可以自己写
2,在session中加入ip(比较好的session类中都会有这个字段)
3,查session表数据有没有你需要的ip,没有就不在线了

㈡ PHP网站中,如何判断用户是否是在线的状态

普通http网站是一种无状态连接,每次一个请求,一个应答,没有长连接状态。

但是可以通过记录访问时间,来确定用户的状态。

  1. 用户登录后,每次访问,更新一下最近访问时间在数据库里

  2. 在用户页面的公共部分,做一个定时轮询,n秒一次(防止用户打开页面后放着不动,看资料或者做别的)

  3. 服务器端做一个定时,将最近时间在n秒内的用户设为在线状态,将最近时间大于n秒的(说明已经关了页面),设为离线状态。 如果是普通 web空间无法配置定时器,可以在每次用户访问时处理一次(如果用户量大,需要做时间判断,防止同时访问量多时多次重复处理,影响服务器性能)

  4. 如果能确定一个用户的访问,只有一个浏览器窗口,可以在窗口里加一个关闭事件(onbeforeunload),在此事件中发送一个退出请求,主动设为离线状态。这样状态管理会更完美一些

这样基本就可以完成一个在线状态的管理。具体n 设为多少可根据情况而定,一般5-30秒都是合理的,太短了服务器压力比较大,太长了误差会比较大

㈢ php利用session怎么判断用户已离线

方法有好多种,但应该都跟心跳请求类似。
首先用户打开一个页面后,页面里面会有段js脚本来反复请求一个地址,即判断用户是否在线的地址(跟新浪微博隔一段时间请求一个地址查看是否有新消息类似)
比如判断页面为A,打开的页面为B ,则B 内的js脚本以ajax请求的方式每隔1分钟来访问A,A可以记录下最后一次的请求时间,然后你就可以拿这个最后一次请求的时间来判断用户是否离线,比如B每隔1分钟发送一次请求,如果最后活动时间与当前时间相差两分钟,就可以认为用户已离线。

还有一种方法,就是利用js的onunload事件
当用户关闭浏览器的时候,可以用onunload发送一个请求,注销掉session,或者将用户状态置为离线,都可以,不过没有上面靠谱就是,因为F5刷新页面也同样触onunload事件

方法还有很多,结合你需要实现的功能和业务,多想想就出来了

㈣ php做用户在线与离线状态

在用户表里加个session字段存取时间戳。在文件头每次刷新就更新它。一定时间不刷新就表示人物离线了。读取这个会员数据的时候和当前时间戳对比小于一定数就离线了

热点内容
怎么改邮政网银密码 发布:2024-11-22 18:06:24 浏览:353
压缩机不制冷 发布:2024-11-22 17:57:45 浏览:428
linux面试题及答案100 发布:2024-11-22 17:56:06 浏览:16
密码门卡如何用nfc 发布:2024-11-22 17:45:11 浏览:137
linux开启snmp 发布:2024-11-22 17:40:51 浏览:938
js检测手机访问 发布:2024-11-22 17:25:08 浏览:798
ftp服务器上传不了文件怎么办 发布:2024-11-22 17:24:19 浏览:259
数据库改售价 发布:2024-11-22 17:19:54 浏览:997
安卓rom资源哪个好 发布:2024-11-22 17:18:18 浏览:447
keil编译路径不对 发布:2024-11-22 17:08:20 浏览:487