php用户类,php用户登陆类

这是一个基于PHP的登录类实现,它包含了连接MySQL数据库、用户认证、session管理和cookie设置等功能。类内部定义了错误提示,支持用户级别的判断,并在用户认证过程中检查账号是否被封禁。此外,还提供了注销登录的方法。
摘要由CSDN通过智能技术生成

<?php /*  *  描述:PHP用于登录的类,基于MySQL  */ class Login {     var $username;    //用户名     var $userpass;    //密码     var $userid;    //用户id     var $userlevel;    //用户级别     var $authtable=”account”;    //验证用数据表     var $usecookie=true;    //使用cookie保存sessionid     var $cookiepath=’/';    //cookie路径     var $cookietime=108000;    //cookie有效时间     var $err_mysql=”mysql error”;            //mysql出错提示     var $err_username=”username invalid”;    //用户名无效提示     var $err_user=”user invalid”;            //用户无效提示(被封禁)     var $err_password=”password error”;        //密码错误提示     var $err;    //出错提示     var $errorreport=false;    //显示错误     function Login($dbserv,$dbport,$dbuser,$dbpass,$dbname)    //构造函数,连接数据库     {         if(@mysql_pconnect($dbserv.”:”.$dbport,$dbuser,$dbpass))         {             mysql_select_db($dbname);         }         else         {             $this->errReport($this->err_mysql);             $this->err=$this->err_mysql;         }     }     function isLoggedin()    //判断是否登录     {         if(isset($_COOKIE['sid']))    //如果cookie中保存有sid         {             session_id($_COOKIE['sid']);             session_start();             $this->username=$_SESSION['username'];             $this->userid=$_SESSION['userid'];             $this->userlevel=$_SESSION['userlevel'];             return true;         }         else    //如果cookie中未保存sid,则直接检查session         {             session_start();             if(isset($_SESSION['username']))                 return true;         }         return false;     }     function userAuth($username,$userpass)    //用户认证     {         $this->username=$username;         $this->userpass=$userpass;         $query=”select * from `”.$this->authtable.”` where `username`=’$username’;”;         $result=mysql_query($query);         if(mysql_num_rows($result)!=0)    //找到此用户         {             $row=mysql_fetch_array($result);             if($row['bannd']==1)    //此用户被封禁             {                 $this->errReport($this->err_user);                 $this->err=$this->err_user;                 return false;             }             elseif(md5($userpass)==$row['userpass'])    //密码匹配             {                 $this->userid=$row['id'];                 $this->userlevel=$row['userlevel'];                 return true;             }             else    //密码不匹配             {                 $this->errReport($this->err_password);                 $this->err=$this->err_password;                 return false;             }         }         else    //没有找到此用户         {             $this->errReport($this->err_username);             $this->err=$this->err_username;             return false;         }     }     function setSession()    //置session     {         $sid=uniqid(’sid’);    //生成sid         session_id($sid);         session_start();         $_SESSION['username']=$this->username;    //给session变量赋值         $_SESSION['userid']=$this->userid;    //..         $_SESSION['userlevel']=$this->userlevel;    //..         if($this->use_cookie)    //如果使用cookie保存sid         {             if(!setcookie(’sid’,$sid,time()+$this->cookietime,$this->cookiepath))                 $this->errReport(”set cookie failed”);         }         else             setcookie(’sid’,”,time()-3600);    //清除cookie中的sid     }     function userLogout()    //用户注销     {         session_start();         unset($_SESSION['username']);    //清除session中的username         if(setcookie(’sid’,”,time()-3600))             //清除cookie中的sid             return true;         else             return false;     }     function errReport($str)    //报错     {         if($this->error_report)             echo “ERROR: $str”;     } } ?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值