C2.sun 2012-06-10 11:28:09 3875次浏览 3条回复 0 0 0

请教:在保存数据时,数据库保存了两条一样的数据 User类:

protected function beforeSave(){
    if($this->isNewRecord){
        $this->salt=$this->verifyCode;
        $this->password=md5($this->salt.$this->password);
    }
		
    return parent::beforeSave();
}

Controller类:

public function actionRegister(){
    $model=new User('register');
    if(isset($_POST['User'])){
        $model->attributes=$_POST['User'];
        $model->validate();
        if($model->save()){
            $this->redirect(array('site/index'));
        }
    }
    $this->render("register",array('model'=>$model,));
}
  • 回复于 2012-06-10 20:45 举报


    $model->attributes=$_POST['User'];
    之前加上一句
    $model->attributes=array();
    试试。

  • 回复于 2012-06-10 20:45 举报

    楼主头像真性感。:funk:

  • 回复于 2012-06-11 10:15 举报

    beforeSave()写得有问题吧
    改成这个试试

    protected function beforeSave(){
        if(parent::beforeSave()){
            if($this->isNewRecord){
                $this->salt=$this->verifyCode;
                $this->password=md5($this->salt.$this->password);
            }
            return true;      
        }else{
            return false;
        }
    }
    
您需要登录后才可以回复。登录 | 立即注册