请问各位大大,我打验证码时,ajax验证可以通过,提交后却终是出现error信息,验证码错误,我查看session的素有内容,发现正确的验证码就始终不变的,难怪总是错,请问这个怎么解决呢?跪求真理
session内容如下
array(6) { ["__flash"]=> array(0) { } ["__captcha/site/captcha"]=> string(7) "bqcggov" ["__captcha/site/captchacount"]=> int(1) ["__returnUrl"]=> string(19) "/nova/user/register" ["__captcha/user/captcha"]=> string(6) "kappfi" ["__captcha/user/captchacount"]=> int(2) }
每次刷新["__flash"]
是变化的,["__returnUrl"]
始终不变
验证码不变需要改框架源码 vender\yiisoft\yii2\captcha\CaptchaAction.php getVerifyCode($regenerate = true)
验证码总是错误 应该是你的 $captchaAction 属性没有设置正确。
model 的rules方法
[‘captcha’, ‘captcha’, ‘message’=>’验证码错误’, ‘captchaAction’=>’user/captcha’],
模板的地方也有个 captchaAction 选项。
<?php echo Captcha::widget([‘name’=>’captchaimg’,’captchaAction’=>’login/captcha’,’imageOptions’=>[‘id’=>’captchaimg’, ‘title’=>’换一个’, ‘alt’=>’换一个’, ‘style’=>’cursor:pointer;’],’template’=>'{image}’]); ?>
我验证码没用model,直接在控制器里用$caprcha->validate($data[‘captcha’]);怎么验证呢
我验证码没有用model,直接自定义的登录页面就是想用yii2框架里面的验证码功能
我直接在页面里面用 <?php echo Captcha::widget([‘name’=>’captchaimg’,’captchaAction’=>’login/captcha’,’imageOptions’=>[‘id’=>’captchaimg’, ‘title’=>’换一个’, ‘alt’=>’换一个’, ‘style’=>’cursor:pointer;’],’template’=>'{image}’]); ?>
然后在页面里面怎么去把接收到的验证码比对验证呢?
找了一些资料