验证规则不提示问题。。

#1 278086346

   if( $use_email = $this->spArgs("use_email") and $use_password = $this->spArgs("use_password")){
       $rows = array('use_email' => $use_email, 'use_password' => $use_password);         
   $results = $zz_user->spVerifier($rows);  
   if( false == $results ){
    if( false == $zz_user->userlogin($use_email, $use_password) ){
     $this->error("用户名/密码错误,请重新输入!", spUrl("main","index"));  
    }else{
     $useracl = spClass("spAcl")->get();
     if( "administrator" == $useracl ){
      $this->success("登录成功,欢迎您,管理员!", spUrl("user","indexadmin"));
     }else{
      $this->success("登录成功,欢迎您,尊敬的会员!", spUrl("user","indexuser"));
     }
    }
   }else{
    foreach($results as $item){
     foreach($item as $msg){
      $this->error($msg,spUrl("main","index"));
     }
    }
   }
  }



代码应该是没错的吧?规则是手册里面的。这段代码能判断userlogin和acl ,但是上面的 if( false == $results ),else{这里不会循环错误信息的规则}如果密码为空,点击提交,他不会显示任何控制,直接是空白的。。。

2012-10-10 11:23:56

#2 278086346

    $zz_user =spClass("xll_user");  
                if( $use_email = $this->spArgs("use_email") and $use_password = $this->spArgs("use_password")){ // 已经提交,这里开始进行登录验证
            $rows = array('use_email' => $use_email, 'use_password' => $use_password);         
                        $results = $zz_user->spVerifier($rows);               
                        if( true == $results ){
                         echo'对了';

                        }else{
                         echo('错误');



我刚这样测试了,提交错误的规则也是显示空的,不管怎么都显示空的,if( true == $results )这个if就直接忽略了。。。。我在 $zz_user =spClass("xll_user");   下面加个if else  dump出来就能检测到。怎么办哦?

2012-10-10 11:58:35

#3 jake

if( $use_email = $this->spArgs("use_email") and $use_password = $this->spArgs("use_password")){

这样是错的。

2012-10-10 12:07:07

#4 278086346

多谢JAKE,按你案例中的就可以判断规则了,但是全空还是不会提示,我在调试调试。。。
  谢谢了~~

2012-10-10 12:19:41