1

我在 Yii 中有应用程序,我从一些基本控制器扩展了所有类,并且我有这些代码:

protected function beforeAction($action)
    {
        $this->setglobalvariable();
        return parent::beforeAction($action);
    }

据我所知,这些代码会阻止验证码显示,因为当我删除它时,验证码会显示出来!验证码功能是:

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 呢?

4

3 回答 3

2

冲突在您的结构中,向我们展示更多代码。将程序放入新鲜的yii并测试它。

于 2013-05-04T18:39:34.853 回答
1

beforeAction 函数,与其他 Yii 方法或函数没有任何冲突。

问题在您的代码中。

于 2013-05-04T18:25:12.457 回答
0

显然,您的Controller::setglobalvariables()方法中有一些代码与验证码的代码冲突。

CCaptachAction ::run()方法使用$_GET参数。您是否以某种方式重置 $_GET ?

你能告诉我们代码吗?

于 2013-05-04T10:15:31.570 回答