请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于注册邮箱发邮件的问题

public  function rules(){

   //这里是规则验证他的数据库字段
   return[
       ['username','required','message'=>"管理员账号不能为空",'on'=>['login','seekpass','changepass','adminadd','changemail']],
       ['userpass','required','message'=>"管理员密码不能为空",'on'=>['login','changepass','adminadd','changemail']],
       ['remmberMe','boolean','on'=>['login']],
       ['userpass','validatePass','on'=>['login'.'changemail']],
       //yii无法判断密码是否正确,所以写个函数判断一下
       //这里的validatepass其实是一个回调下面的方法
       ['useremail','required','message'=>"电子邮箱不能为空",'on'=>['seekpass','adminadd','changemail','regbymail']],
       ['useremail','email','message'=>'电子邮箱格式不正确','on'=>['seekpass','adminadd','changemail','regbymail']],
       ['useremail','unique','message'=>'电子邮箱已被注册','on'=>['adminadd','changemail','regbymail']],
       ['username','unique','message'=>'管理员已被注册','on'=>'adminadd'],
       ['useremail','validateEmail','on'=>['seekpass']],
       ['repass','required','message'=>"修改密码不能为空",'on'=>['changepass','adminadd']],
       ['repass','compare','compareAttribute'=>'userpass','message'=>'两次输入密码不一致','on'=>['changepass','adminadd']],
   ];
}



public function regByMail($data){
    $data["User"]["username"]="imooc_".uniqid();
    $data["User"]["userpass"]=uniqid();
    $this->scenario="regbymail";
   if($this->load($data)&& $this->validate()){

       $mailer=Yii::$app->mailer->compose("createuser",['userpass'=>$data['User']['userpass'],'username'=>$data['User']['uername']]);
       //这里是文本内容模板
       $mailer->setFrom('18862417482@163.com');
       $mailer->setTo($data['User']['useremail']);
       $mailer->setSubject("商城新用户");
       if($mailer->send() && $this->reg($data,"regbymail")){
           return true;
       }
       return  false;
   }

}

public  function reg($data ,$scenario="reg"){
   $this->scenario=$scenario;
   if($this->load($data) && $this->validate()){
       $this->createtime=time();
       $this->userpass=md5($this->userpass);
       if($this->save(false)){
           return true;
       }
       return false;
   }
    return  false;
}https://img1.sycdn.imooc.com/szimg//58ca13390001bd0910240894.jpg这里2个form应该对应不同的控制器啊

正在回答

12回答

Jason 2017-03-18 22:34:34

你看下是不是没有name的规则,导致name值没有压入成功

0 回复 有任何疑惑可以回复我~
Jason 2017-03-16 22:02:29

这两个form表单分别提交到两个不一样的控制器

0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-17 13:22:49

揪心啊


0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-17 11:32:22

https://img1.sycdn.imooc.com/szimg//58cb58770001412f06060596.jpg上面还能var_dump()有值下面save就是null


0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-17 11:19:05

没次save() name位null


0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-17 11:03:58

https://img1.sycdn.imooc.com/szimg//58cb515a0001ecf219100161.jpghttps://img1.sycdn.imooc.com/szimg//58cb51f500010a2505910124.jpg这里面用户名老是存不进来

0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-17 10:38:45

为什么数据库里其他字段都有了就是imooc_.uniqid()这个名字save()不到



0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-16 16:14:46

我想看下view 里面和rule里面的内容 卡在这里太难受了



0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-16 15:08:41

老师我看错了还是不行


0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-16 14:33:47

少加了个验证


0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-16 14:29:52

问题解决

好了


0 回复 有任何疑惑可以回复我~
提问者 qq_法国大青椒_03589515 2017-03-16 12:25:15

还有是不是reg这个默认带过来的参数也要验证

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信