为什么yii验证码总是显示固定的图片?

时间:2014-07-11 10:17:45

标签: javascript php validation yii captcha

Captcha没有问题,但我不知道为什么它没有生成新的代码来发布?我已查看过这些文件,但可以找到可以解决问题的方法。

captcha image

这里有什么我想念的东西。谢谢。

public function actions()
    {
        return array(
            'captcha'=>array(
                'class'=>'CCaptchaAction',
                'backColor'=>0xFFFFFF,
            ),
        );
    }

我的观看文件:

        <?php echo $form->labelEx($model,'verifyCode'); ?>  
        <?php $this->widget('CCaptcha'); ?>
        <?php echo $form->textField($model,'verifyCode'); ?>
        <?php echo $form->error($model,'verifyCode'); ?>

1 个答案:

答案 0 :(得分:1)

这是一个已知的错误,很可能会在Yii2中修复。


在Yii论坛上,用户黑色 suggests

  

我的解决方法是在get上删除控制器操作上的会话密钥。小心不要在任何其他地方删除它,因为它可能会在服务器验证时失败。

$session = Yii::app()->session;
$prefixLen = strlen(CCaptchaAction::SESSION_VAR_PREFIX);
foreach($session->keys as $key)
{
        if(strncmp(CCaptchaAction::SESSION_VAR_PREFIX, $key, $prefixLen) == 0)
                $session->remove($key);
}

另一种解决方法是在 Soph 提及的每个页面加载时use JavaScript to click on the refresh link

$(function() { 
    $('#yw0_button').click(); 
});