php登录掉线程序怎么做

我要用php做一个登录程序,比如会员a在A电脑上登录后,如果有人用会员a这个账号在B电脑上登录的话,那么A电脑上的会员a登录状态就要取消,求思路!

这样做啊,登录用cookie加密做,加密的格式可以这样:用户名|邮箱|用户ID|用户最后登录时间,然后写一个加密函数,用一个自定义的key来完成加密,实现cookie登录的安全性,那么用户登陆后每次刷新页面都跟数据库比对一下,会员a已经在A电脑上登录后就把最后的登录时间时间戳记录到加密的cookie里面了,如果有人用会员a的账号在B电脑登录的话,就要更改最后登录时间,那么这样的话会员a在A电脑上每次刷新请求比对的时候就读出了最后登录时间和数据库上面的最后登录时间不一致了,那么就自动注销这个cookie也就是退出了登录状态了!
完全手打原创,ok的话请采纳!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-18
其实不难,账号设置一个标志位,登陆一次转变一次,在0和1之间变化

假设本来是0的
a电脑登陆,改为1,验证的时间,加上这个条件,必须等于1,否则清除session
b电脑登陆,改为0,那边的验证就不成立
不过如果多次登陆可能有问题,可以改为累加
第2个回答  2014-03-18
那么这个就要依靠 cookie session 数据库来协同去完成这个工作了。登录成功,保存sessionid到对应的用户表中(在用户表中加个登录ID 用来记录这个session id。
用户A登录后 会在此用户表中记录登录ID(会话ID SESSIONID),
当用户B进行登录,检测帐号密码完全正确 再判断这个session id 根据这个session id去注销原有的session 保存用户B的session id到用户的状态中

剩下的 自己用大腿都能想到怎么做了。我就不说了
第3个回答  2014-03-18
第一种方法:用cookies 。用函数 (如 : md5)生成一个随机的字符串 A。写入cookies 。当用户登录之后,将这个字符串 A 同时写入数据库和 cookies。如果用户进行了操作页面。如: 跳转、刷新等动作后,那么就比对数据库的字串和cookies。如果不同,则证明了在其他的电脑上登录了。
第二种方法:同样的道理,可以用session。
第三种方法:用cookies 和 session 存字串,而不是将字串存入数据库,好处在于减少用户访问数据库。

补充,如果想要在用户没有动作的时候,判断是否已经下线,可以用ajax轮询。但是这样会很大的消耗服务器的资源,一般不这样做。
第4个回答  2014-03-18
搜php+mysql登录示例
第5个回答  2014-03-18
譬如 用的session储存的会员登录信息那就建个表,储存sessionid以及对应的ip

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网