Yii 1.0验证码不显示的问题



  1. 公司需求,后台登陆加上验证码,以前做过Yii框架的后台登陆验证码,
  2.  
  3. 想想挺简单的,应该不用花费很多时间。 于是就开始动手做,控制器先引入验证码类,

  4. public function actions()  
  5. {  
  6.     return array(  
  7.         // captcha action renders the CAPTCHA image displayed on the contact page  
  8.         'captcha'=>array(  
  9.             'class'=>'CCaptchaAction',  
  10.             'backColor'=>0xf4f4f4,  
  11.             'padding'=>0,  
  12.             'maxLength'=>4,   
  13.             'mixLength'=>4,  
  14.         ),  
  15.         );  
  16. }  

  17. 模型定义好相关的属性
  18. class LoginForm extends CFormModel
    {
    public $username;
    public $password;
    public $rememberMe;
    public $verifyCode;
    private $_identity;

  19. Yii有自己的验证码验证规则
  20. public function rules()
    {
    return array(
    // username and password are required
    array('username, password', 'required'),
    // rememberMe needs to be a boolean
    array('rememberMe', 'boolean'),
    // password needs to be authenticated
    array('password', 'authenticate'),
    //验证码校验
            array('verifyCode','captcha','message'=>'验证码不正确'),
    );
    }
  21. 属性备注中文名称
  22. public function attributeLabels()
    {
    return array(
    'username'=>'帐号',
    'password'=>'密码',
    'rememberMe'=>'下次记住',
    'verifyCode'=>'验证码:',
    );
    }

  23. 视图层
  24. <?php echo $form -> textFieldRow($model,'verifyCode',array('size'=>10,'class'=>'inputBg','maxLength'=>4)); ?>
  25. <?php 
    $this->widget('CCaptcha',array(
    'showRefreshButton'=>false,
    'clickableImage'=>true,
    'imageOptions'=>array(
    'alt'=>'点击换图',
    'title'=>'点击换图',
    'style'=>'cursor:pointer'))); 
    ?>
  26. 大功告成,打算收工时,进入登陆页面发现验证码竟然没有显示出来,
  27. 然后就自己各种调试,还是没有解决问题。
  28. 当下立马下了1个1.6的Yii框架,本地架设试了一下,
  29. 验证码没有问题,
  30. 说明不是基本代码问题,
  31. 想想看看源代码,大致看了一下也没什么问题。
  32. 突然想起以前纯原生PHP代码做验证码时记得,
  33. 视图层<?php之前是不能有任何输出的,不然会导致生成图像不成功。
  34. 打印了一下输出  
  35. 不是空格但是就是暂用了位置,还有字节数.
  36. 解决这种问题有两个方法
  37. 一个是在生成验证码图之前条用ob_clean()方法。
  38. 还有一个就是找到这个  删除掉.就能解决问题
  39. 包括BOM:

    不要添加BOM(识别标记,UTF8签名),

    下面的情况下,会在每个UTF8文件前增加额外的输出内容(我们是看不到,不可见字符)






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值