PHP代码:
include "../myclasses/Login.php"; $dbserv="localhost"; $dbport="3306"; $dbuser="root"; $dbpass="123456"; $dbname="test"; $login=new Login($dbserv,$dbport,$dbuser,$dbpass,$dbname); $login->error_report=true; $login->cookietime=3600*24*30; if($login->isLoggedin()) { echo $login->username." has aready logged in"; } elseif($login->userAuth("danielking","1234")) { echo "login successfully"; $login->setSession(); } echo "...
"; /* if($login->userLogout()) echo "logged out"; else echo "logout failed"; */ ?>
类:
errReport($this->err_mysql); $this->err=$this->err_mysql; } } //判断是否登录 function isLoggedin() { //如果cookie中保存有sid if(isset($_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; } } //置session function setSession() { $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"; } } ?>
© 版权声明
THE END
暂无评论内容