入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

请教学长学姐们帮帮忙啊,用户不能重复登录问题

创建时间:2016-09-12 投稿人: 浏览次数:358

我做个网站想要判断用户不能重复登录,同一个账号如果已经登录,在第一个用户没退出的条件下,其他人登录会提示用户已经登录。

表名admin 字段userid    username  password   private(判断重复登录用的   属性int  1或者0)默认为0

框架用的是TP3.2.3

我的方法是在登录的时候

//判断账户是否已经登录

$m=M("admin");

$row=$m->where("userid=$_SESSION[userid]")->find();
if($row["private"]==1){

$this->error("用户已经登录");

}else{

$m->private=1;
$m->password = md5($_POST["password"]);
$m->create();
$m->where("userid = $row[userid]")->save();

}

$_SESSION["username"]=$row["username"];
$_SESSION["userid"] = $row["userid"];
$_SESSION["purview"] = $row["purview"];  //管理员权限
$_SESSION["private"] =1;

$this->success("登陆成功",U("Index/index"));



//退出登录按钮也给了

$m=M("admin");

//判断SESSION是否存在和有效
if($_SESSION["userid"]){

$m->private=0;

$m->where("userid=$_SESSION[userid]")->save();

session(null);

 
$this->success("退出成功",U("Index/index"));

}


这样的方法数据库的字段值可以变换 ,功能也能实现。

关键是如果用户不点退出,直接点击浏览器的X按钮关闭,数据库的private字段就不会改变,还是1,用户在点击登录的话就会一直提示用户已经登录。这个问题哪位会啊,最好是源代码,具体点  我是PHP小新手一枚,太难的看不太懂。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像