我在Yii有应用程序,我从一些基本控制器扩展所有类,我有这些代码:
protected function beforeAction($action)
{
$this->setglobalvariable();
return parent::beforeAction($action);
}
正如我所理解的,这些代码阻止了Captcha显示,因为当我删除它时,验证码显示出来!验证码功能是:
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
'minLength'=>2,
'maxLength'=>3,
'width'=>60,
),
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}
那我怎么能同时使用beforeAction和captcha呢?
答案 0 :(得分:2)
冲突在你的结构中,向我们展示更多代码。将程序放在新鲜的yii中并进行测试。
答案 1 :(得分:1)
beforeAction函数,与其他Yii方法或函数没有任何冲突。
问题在你的代码中。
答案 2 :(得分:0)
显然, Controller :: setglobalvariables()方法中的一些代码与验证码的代码冲突。
CCaptachAction :: run()方法使用 $ _ GET 参数。你是否以某种方式重置$ _GET?
你能告诉我们代码吗?