someday 2012-04-16 17:47:39 3777次浏览 6条回复 0 0 0

怎样在评论中加上验证码??? 我加上了验证码怎么都出不来,index.php?r=post/captcha页面显示404 CHttpException,该如何解决,求高手指教

  • 回复于 2012-04-17 08:22 举报

    在controller 里的actions中加上

    return array(
        'captcha'=>array(
            'class'=>'CCaptchaAction',
            'backColor'=>0xcfedf4,
            'height'=>35,
            'width'=>100,
        ),
    );
    

    在view里调用一下就可以了
    例如:

    <?php $form=$this->beginWidget('CActiveForm', array(
        'id'=>'login-form',
        'enableClientValidation'=>true,
        'clientOptions'=>array(
            'validateOnSubmit'=>true,
        ),
    )); ?>
        
    <div class="row">
           <?php echo $form->labelEx($model,'verifyCode'); ?>
           <?php echo $form->textField($model,'verifyCode'); ?>
          <?php $this->widget('CCaptcha'); ?>       
          <?php echo $form->error($model,'verifyCode'); ?>
    </div>
    
  • 回复于 2012-04-17 10:04 举报

    您好,很感谢您的回复,我按照您的说法做了,还是没出来。我是想在评论时加验证码,对应的都是post的视图和控制器,只是不能在评论的表单中显示验证码,我测试的登陆验证码已经成功了,还有什么地方要注意的吗???求教,谢谢。。。。

  • 回复于 2012-04-17 10:07 举报

    二楼说的没错,一定要保证在PostController.php中存在captchaaction。你再仔细检查一下!

  • 回复于 2012-04-17 10:12 举报

    PostController.php中开始没有actions方法,直接加上就可以吗?和accessRules方法有什么冲突吗?

  • 回复于 2012-04-17 10:18 举报

    按照二楼同志的做就可以了!accessRules确保所有用户可以访问!

  • 回复于 2012-04-18 17:11 举报

    谢谢舰长,是因为accessRules方法中没有保证所有用户都可以访问导致的,注意‘deny’的使用

您需要登录后才可以回复。登录 | 立即注册