php如何实现实现用户同步登录,意思就是一个用户名和密码只能保持一个在线。不能有两个人或者更多同时用一个用户名登录。请指教一下,关键步骤和关键代码示例。

解决方案 »

  1.   

    您所说的同步登陆似乎与同1用户同1时间只能保持一个在线不是一回事吧?"意思就是一个用户名和密码只能保持一个在线。不能有两个人或者更多同时用一个用户名登录"我认为 ,在登陆时,检测数据库登陆字段是否为登陆状态;
    如果没有登陆,继续验证,执行登陆,update 为登陆状态;
    退出时 update为退出
      

  2.   

    我想的一种方法。
    在数据库设置一个变量$k,初始值可以设置为0,(无所谓)
    如果在A登录了该账号,则将$K=!$K,即$k=1,此时A端需要记下该值。
    如果此时B登录了该账号,同样将K取反。K变为0,在B端记下该值,
    A端在页面跳转时检测K,如果K不是原先记下的K则别处登录了该账号,将A剔下线。
    也就是说始终只有最后一个能成功登录。
    不知道这个方法可行不?
      

  3.   


    我有个疑问. 假设将$K=!$K 是 a 页面.
    那a页面是不是在做这个操作前要检测K 呢
    不论要不要,似乎都会产生矛盾...
      

  4.   

    这个同步的概念和Java中同步的概念是一样的,意思是只能有一个人对程序进行操作。
    你所说的登录验证机制通过什么实现,可以说得再详细一点吗,用session吗还是其他的什么?
      

  5.   


    普通登陆时判断用户名和密码是否正确,对比用户提交的数据与数据库中的数据,在此过程中加一步骤,如果用户名和密码一致,那么再对比登陆状态字段,如果是已登陆,则提示已提示;如果未登陆,则登陆,update为登陆状态;2楼前辈们说的非正常退出很好,我确实没考虑到;
    10楼说的好,可以用超时来解决;
      

  6.   

    php单点登录难弄到的...你可以用一个浏览器session_id,标示用户不同...每隔一段时间检查它是否存在...
    如果超时..就是表示退出了..