Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证码对yii不起作用_Php_Yii_Captcha - Fatal编程技术网

Php 验证码对yii不起作用

Php 验证码对yii不起作用,php,yii,captcha,Php,Yii,Captcha,用户模型: public function rules() { return array( ... array('verifyCode', 'captcha', 'on'=>'register'), ... ); } 用户控制器 public function actionRegister() { $model=new User; if(isset($_POST['User'])) {

用户模型:

public function rules()
{
    return array(
        ...
        array('verifyCode', 'captcha', 'on'=>'register'),
        ...
    );
}
用户控制器

public function actionRegister()
{
    $model=new User;
    if(isset($_POST['User']))
    {
        $model->attributes=$_POST['User'];
        if($model->save()){
             $this->redirect(array('login'));
        }
    }
    ...
    $this->render('register');
}
View-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'); ?>


这会使验证码正常,但验证不会发生。可能是什么问题?

我认为您的问题在于on=>寄存器尝试“on”=>“insert”并读取


/

我认为您的问题在于on=>注册尝试“on”=>“insert”并读取


/

您可能应该指定框架。我正在使用Yii框架,正如帖子标题中所述。您可能应该指定框架。我正在使用Yii框架,正如帖子标题中所述。为了简洁起见,我之前没有粘贴整个代码。当然,之后会有一个
render
函数调用,否则就不会首先呈现验证码。我已经根据您使用$model->validate()而不是$model->save()时发生的情况更新了我的代码。即使我提供了错误的CAPT,我也会始终返回true。为了简洁起见,我之前没有粘贴整个代码。当然,之后会有一个
render
函数调用,否则就不会首先呈现验证码。我已经根据使用$model->validate()而不是$model->save()时发生的情况更新了代码。即使我提供了错误的验证码,也会始终返回true