开发ecshop新注册用户后台审核确认功能

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

ecshop需求:

1. 新注册的用户需要后台管理员进行确认之后才能成为正式用户。

2. 新用户注册之后,提示请等待管理员确认后才能使用。

3. 新注册的用户,如果管理员没有对其注册身份进行确认,在登录时会提示请等待管理员确认之后才能登录。

 

在观察数据库表的时候发现,users表中有个is_validated字段,默认是0,表明没有通过验证。我们基于这个字段来实现本文要求的功能。

 

升级说明

新注册的ecshop用户需要后台管理员确认之后才能成为正式注册的用户。在用户提交注册信息之后,提示用户管理员会通过电话对其身份进行确认。未确认的用户无法登录,未确认用户登录时会提示需要确认的信息。

升级方法

【1】在languages\\zh_cn\\admin\\users.php中增加:

 
  1. $_LANG['invalid_is_validated'] = '只能输入0或1。0为无效,1为有效';  

 

【2】在languages\\zh_cn\\user.php中增加:

 
  1. $_LANG['login_failure_invalid'] = '需管理员确认身份之后才能登陆';  

【3】修改includes\\modules\\integrates\\integrate.php中的login函数为:

 
  1. /** 
  2.    *  用户登录函数 
  3.    * 
  4.    * @access  public 
  5.    * @param   string $username 
  6.    * @param   string $password 
  7.    * 
  8.    * @return int 
  9.    */  
  10.   function login($username,$password$remember = null)  
  11.   {  
  12.        $rt = $this->check_user($username$password);  
  13.         
  14.       if ($rt > 0)  
  15.       {  
  16.           if($this->need_sync)  
  17.           {  
  18.              $this->sync($username,$password);  
  19.           }  
  20.          $this->set_session($username);  
  21.          $this->set_cookie($username$remember);  
  22.   
  23.           return 1;  
  24.       }  
  25.       else if ($rt == -1)  
  26.       {  
  27.            //If the user is not valid, returns -1.  
  28.            return -1;  
  29.       }  
  30.       else  
  31.       {  
  32.           return 0;  
  33.       }  
  34.   }  

修改add_user函数为:

 
  1. /** 
  2.      *  添加一个新用户 
  3.      * 
  4.      * @access  public 
  5.      * @param 
  6.      * 
  7.      * @return int 
  8.      */  
  9.     functionadd_user($username$password$email$gender = -1, $bday = 0, $reg_date=0,$md5password='')  
  10.     {  
  11.         /* 将用户添加到整合方 */  
  12.         if($this->check_user($username) != 0)  
  13.         {  
  14.             $this->error =ERR_USERNAME_EXISTS;  
  15.    
  16.             return false;  
  17.         }  
  18.         /* 检查email是否重复 */  
  19.         $sql = "SELECT" . $this->field_id .  
  20.                " FROM" . $this->table($this->user_table).  
  21.                " WHERE" . $this->field_email . " = '$email'";  
  22.         if($this->db->getOne($sql, true) > 0)  
  23.         {  
  24.             $this->error =ERR_EMAIL_EXISTS;  
  25.    
  26.             return false;  
  27.         }  
  28.    
  29.         $post_username =$username;  
  30.    
  31.         if ($md5password)  
  32.         {  
  33.             $post_password =$this->compile_password(array('md5password'=>$md5password));  
  34.         }  
  35.         else  
  36.         {  
  37.             $post_password =$this->compile_password(array('password'=>$password));  
  38.         }  
  39.    
  40.         $fields =array($this->field_name, $this->field_email, $this->field_pass);  
  41.         $values =array($post_username$email$post_password);  
  42.    
  43.         if ($gender > -1)  
  44.         {  
  45.             $fields[] =$this->field_gender;  
  46.             $values[] =$gender;  
  47.         }  
  48.         if ($bday)  
  49.  



最近更新

常用插件