Captcha没有问题,但我不知道为什么它没有生成新的代码来发布?我已查看过这些文件,但可以找到可以解决问题的方法。
这里有什么我想念的东西。谢谢。
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'); ?>
答案 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();
});