最新消息: 新版网站上线了!!!

thinkphp验证用户名是否重复

  1. <?php 
  2.  /** 
  3.  * Created by PhpStorm.  
  4.  */ 
  5.  namespace Admin\Model; 
  6.  use Think\Model; 
  7.  class UserModel extends Model { 
  8.     //自动验证 
  9.     protected $_validate=array
  10.         //array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间) 或者单独留给注册用,登陆单独写规则 
  11.         array('user_name','','帐号名称已经存在!',0,'unique',1), 
  12.         array('user_name','require','用户名不能为空',self::EXISTS_VALIDATE), 
  13.         array('user_name''5,20''用户名长度5-20位!', self::EXISTS_VALIDATE,'length'), 
  14.         array('password','require','密码不能为空',self::EXISTS_VALIDATE), 
  15.         array('code','require','验证码不能为空',self::EXISTS_VALIDATE), 
  16.         array('password''5,30''密码长度不合法!', self::EXISTS_VALIDATE,'length'), 
  17.         array('repassword''password''俩次输入密码不一致!', self::EXISTS_VALIDATE,'confirm'), 
  18.         array('code''4''请输入4位验证码', self::EXISTS_VALIDATE,'length'), 
  19.     ); 
  20.     //使用create方法创建数据对象的时候,执行Add()方法时,不在$insertFields定义范围内的字段将直接丢弃即只允许新增定义内的字段 
  21.     protected $insertFields = array('id','user_name','password','user_byname','reg_time','reg_ip','login_time','login_count','role_id','status','unqi_id'); 
  22.     //使用create方法更新数据对象的时候,执行sava()方法时,不在$updateFields定义范围内的字段将直接丢弃 
  23.     protected $updateFields = array('id','user_name','password','user_byname','reg_time','reg_ip','login_time','login_count','role_id','status','unqi_id'); 
  24.     //自动完成 
  25.     protected $_auto=array
  26.         array('password''sha1', self::MODEL_INSERT, 'function'), 
  27.         array('login_time''time', self::MODEL_INSERT, 'function'), 
  28.         array('reg_time','time',self::MODEL_INSERT,'function'), 
  29.         array('reg_ip','get_client_ip',self::MODEL_INSERT,'function'), 
  30.         array('login_ip','get_client_ip',self::MODEL_BOTH,'function'), 
  31.         array('login_time','time',self::MODEL_BOTH,'function'), 
  32.         array('login_count',0,self::MODEL_INSERT), 
  33.         array('status',1,self::MODEL_INSERT), 
  34.         array('password','',self::MODEL_UPDATE,'ignore'),//修改时空白则忽略 
  35.     ); 
  36.     //检帐帐户是否存在或者停用状态 
  37.     public function checkStatus($username){ 
  38.         $map=array(); 
  39.         $map['user_name']=$username
  40.         $map['status']=array('gt',0); 
  41.         return $authInfo=$this->where($map)->find(); 
  42.     } 
  43.     //验证登陆 
  44.     public function checkLogin($username,$password,$code){ 
  45.         $data=array
  46.             'user_name'=>$username
  47.             'password'=>$password
  48.             'code'=>$code
  49.         ); 
  50.         if(!$this->create($data)) return $this->getError(); 
  51.         //检测用户名是否存在或状态 
  52.         if($authInfo=$this->checkStatus($username)){ 
  53.          return  $authInfo
  54.         } 
  55.     } 
  56.     //登陆后更新数据库登陆时间和次数级ip 
  57.     public function update($user_id,$login_count){ 
  58.         $data = array
  59.             'login_time'=>time(), 
  60.             'login_ip'=>get_client_ip(), 
  61.             'login_count'=>$login_count+1 
  62.         ); 
  63.        return $this-> where('id='.$user_id )->setField($data); 
  64.     } 
  65.     //注册管理员 
  66.     public function register($username,$re_name,$byname,$password){ 
  67.         $data=array
  68.             're_name'=>$re_name
  69.             'user_name'=>$username
  70.             'user_byname'=>$byname
  71.             'password'=>$password
  72.         ); 
  73.         if(!$this->create($data)){ 
  74.             return $this->getError(); 
  75.         }else
  76.             P($data); 
  77.             echo  $this->add(); 
  78.         } 
  79.     } 
  80.  } 

 

转载请注明:谷谷点程序 » thinkphp验证用户名是否重复