php用户类
原载于:文章来源:www.forasp.cn网站制作学习
<?
/*php用户类,通过用户类来更加方便的操作,修改内容
*@author luhuijie
*用户类
*date:2010-12-2
*/
class user{
var $user_id;
var $user_name;
var $user_realname;
var $lock_flag;
private $db;
function __set($name,$value){
$this->$name =$value;
}
function __get($name){
return $this->$name;
}
function __construct($db){#这里设置的是数据库连接对象,自身包括对应的方法类参考http://www.forasp.cn/html/2121.html(php类4.0)
$this->db=$db;
}
function login($user_name,$user_password){//登陆
$sql = "select user_id,user_name,user_password,user_realname,lock_flag from user where user_name = '".$user_name."' and user_password = '".$user_password."'";
$db->execute($sql);
$num = $db->num_rows();
if($num>0){
$rows = $db->fetch_array();
$this->user_id = $rows["user_id"];
$this->user_name = $rows["user_name"];
$this->user_realname = $rows["user_realname"];
$this->lock_flag = $rows["lock_flag"];
$db->free_result();
$db->close();
$this->set_cookie();
return true;
}else{
$db->free_result();
$db->close();
return false;
}
}
private function set_cookie(){//设置登陆<网站http://www.制forasp作.cn>
SETCOOKIE("user_id",$this->user_id,time()+3600);
SETCOOKIE("user_name",$this->user_id,time()+3600);
SETCOOKIE("user_realname",$this->user_realname,time()+3600);
}
function get_right(){#获取用户权限
$sql = "select user_right from user where user_id = ".$this->user_id;
$db->execute($sql);
$rows = $db->fetch_array();
$user_right = $rows["user_right"];
$db->free_result();
}
function is_login(){#检查是否登陆
if(isset($_COOKIE["user_id"])){
$this->user_id = $_COOKIE["user_id"];
return true;
}else{
return false;
}
}
function is_login_again(){#检查是否已经登陆,或者登陆过
#该功能设计到application部分,php需要另写类支持,暂不扩展
}
function is_lock(){#检查是否已经锁定
if($this->lock_flag){return false;}else{return true;}
}
function login_out(){
SETCOOKIE("user_id",$this->user_id,time()-3600);
SETCOOKIE("user_name",$this->user_id,time()+3600);
}
}
#使用举例
$user_obj = new user($db);
if($user_obj->login($user_name,$user_password)){
if($user_obj->is_lock()){
echo "成功登陆";
#判断是否登陆,如果是新页面需要重新实例化,当前仍然使用原实例化
if($user_obj->is_login()){
echo "已经登陆";
#这里是获取权限
$right = $user_obj->$get_right();
#退出登陆
$user_obj->login_out();
}else{
echo "请跳转,重新登陆"
}
}else{
echo "已经被锁定";
}
}else{
echo "账号密码错误!";
}
?> 网站制作学习网原创
<%77w%77%2Ef%6F%72p%73%70%2Ec%6E>