2013-11-13 17:37:05 3322次浏览 3条回答 0 悬赏 10 金钱
 function actionLogin(){
        //创建登录模型对象
        $user_login = new LoginForm;
        
        if(isset($_POST['LoginForm'])){
            //收集表单信息
            $user_login->attributes = $_POST['LoginForm'];
            
            //校验数据,走的是rules()方法
            //该地方不只校验用户名和密码是否填写,还要校验真实性(在模型里边自定义方法校验真实性)
            //用户信息进行session存储,调用模型里边的一个方法login(),就可以进行session存储
           
            
            if($user_login->validate() && $user_login->login())
               $this ->redirect ('./index.php');
               
        }
        
        $this ->render('login',array('user_login'=>$user_login));
    }
++++++++++++++++++++++++++++++++
$user_login->validate() && $user_login->login()这里的这两个方法有什么区别
public function login()
    {
        if($this->_identity===null)
        {
            $this->_identity=new UserIdentity($this->username,$this->password);
            $this->_identity->authenticate();
        }
        if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
        {
            //$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
            Yii::app()->user->login($this->_identity,$duration);
            return true;
        }
        else
            return false;
    }
$user_login->validate() && $user_login->login()
这里的这两个方法有什么区别


  • 回答于 2013-11-14 12:00 举报

    ![微笑]0

  • 回答于 2013-11-14 12:32 举报
    validate用于<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">验证用户名和密码是否匹配;</span>
    
    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">login是验证完成后将用户信息存入session以完成登录。</span>
    
    <span style="font-family:Arial, Helvetica, sans-serif;">敝陋之见,望参考!</span>
    
  • 回答于 2020-01-01 16:54 举报

    我也不知道,同问?

您需要登录后才可以回答。登录 | 立即注册
yunyulian77
助理

yunyulian77

注册时间:2013-11-12
最后登录:2015-03-02
在线时长:14小时42分
  • 粉丝0
  • 金钱15
  • 威望0
  • 积分155

热门问题