网站制作学习网PHP→正文:php用户类
字体:

php用户类

PHP 2010/12/2 18:16:41  点击:不统计

原载于:文章来源: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>

·上一篇:定时运行php >>    ·下一篇:php真伪静态 >>
推荐文章
最新文章