2012-01-04 39 views
0

用戶模式工作:驗證碼不對警予

public function rules() 
{ 
    return array(
     ... 
     array('verifyCode', 'captcha', 'on'=>'register'), 
     ... 
    ); 
} 

UserController的

public function actionRegister() 
{ 
    $model=new User; 
    if(isset($_POST['User'])) 
    { 
     $model->attributes=$_POST['User']; 
     if($model->save()){ 
      $this->redirect(array('login')); 
     } 
    } 
    ... 
    $this->render('register'); 
} 

視圖 - register.php

<?php $this->widget('CCaptcha'); ?> 
      <div class="captcha"><?php echo CHtml::activeTextField($model,'verifyCode', array('class'=>'captcha')); ?></div> 
    <?php echo $form->error($model,'verifyCode'); ?> 

這使得驗證碼好嗎,但確認不會發生。可能是什麼問題呢?

+0

你應該可能sp確定框架。 – 2012-01-04 15:33:37

+1

我正在使用Yii框架,正如 – 2012-01-04 15:43:57

回答

3
+0

的標題中提到的那樣,爲了簡潔起見,我之前並未粘貼整個代碼。當然,之後有一個「渲染」函數調用,否則驗證碼不會首先渲染。我已經更新了我的代碼 – 2012-01-05 03:14:45

+0

當你使用$ model-> validate()而不是$ model-> save()時會發生什麼? – user677900 2012-01-05 06:39:28

+0

即使我提供了錯誤的驗證碼,也會一直返回true – 2012-01-05 09:46:14