Yii框架2.0的 验证码

最近看了一个Yii的教程视频,是按1.1的版本讲的,我想用Yii2.0的框架也参考他的学习开发下,结果发现好多不一样的,现在就说说验证码的事

首先加入一个actions 做验证码图片的显示,实际事调用了 CaptchaActive 类

public function actions() {
        return [
            ‘captcha‘ => [
                ‘class‘ => ‘yii\captcha\CaptchaAction‘,
                ‘height‘ => 25,
                ‘width‘ => 80,
                ‘minLength‘ => 4,
                ‘maxLength‘ => 4,
            ],
        ];
    }

在模板文件里参考下面的使用,具体还是多看看文档

<?php echo Captcha::widget([‘name‘=>‘captchaimg‘,‘captchaAction‘=>‘login/captcha‘,‘options‘=>[‘style‘=>‘cursor:pointer;‘,‘id‘=>‘captchaimg‘],‘template‘=>‘{image}‘]); ?>

其中 ‘captchaAction‘=>‘login/captcha‘ 是需要注意的,他默认的是 site/captcha 但是如果在某个模块下做的,它会自动加上模块前缀,比如我的 admin\ ,刚开始的时候一直不能显示,后来发现是rote的问题,不过不知道在哪里改,看文档看了好久。

最后是验证,

这个在model类的 rules方法里,  [‘captcha‘, ‘captcha‘, ‘message‘=>‘验证码错误‘, ‘captchaAction‘=>‘admin/login/captcha‘],

其中 ‘captchaAction‘=>‘admin/login/captcha‘ 也是需要设置的,默认的是 site/captcha  而且这里要绝对路径的全部,它不会自动加上模块id部分。

最后就是验证了。

$model->attributes = $_POST[‘LoginForm‘];
$model->validate());

当然还可以获取验证结果的错误信息。

在模板里加入

<?php echo Html::error($model, ‘captcha‘); ?>

OK,更细节的东西继续摸索,和1.1版本的不一样的地方挺多的。不过又似曾相识。主要是文档是英文的,稍微造成了点障碍。

时间: 2024-11-07 03:03:26

Yii框架2.0的 验证码的相关文章

Yii框架2.0的模型

模型是 MVC 模式中的一部分, 是代表业务数据.规则和逻辑的对象. 可通过继承 [[yii\base\Model]] 或它的子类定义模型类,基类[[yii\base\Model]]支持许多实用的特性: 属性: 代表可像普通类属性或数组一样被访问的业务数据; 属性标签: 指定属性显示出来的标签; 块赋值: 支持一步给许多属性赋值; 验证规则: 确保输入数据符合所申明的验证规则; 数据导出: 允许模型数据导出为自定义格式的数组. 属性: 所有 non-static public非静态公有 成员变量

Yii框架2.0的模块

模块是个独立的软件单元,也是又控制器,视图,模型组成的,也可以有自己的布局.但他必须属于某个应用下,不能独立存在. 其中模块的控制器,视图和应用的控制器和视图使用基本相同,不作赘述,下面说说模块的使用.首先可以通过前面说的Gii来生成一个模块,然后配置模块,再web.php 配置文件里加入下面的东西. [ 'modules' => [ 'admin' => [ 'class' => 'app\modules\admin\Module', // ... 模块其他配置 ... ], ], ]

Yii框架2.0的小部件

小部件是视图里的可重用单元. 小部件是在视图中使用的,但是可能需要使用控制器传给他的模型,比如在渲染表单的时候.比如一般的时间拾取器就可以直接砸视图里加入如下代码就可以: <?php use yii\jui\DatePicker; ?> <?= DatePicker::widget(['name' => 'date']) ?> 如果用到model 就大致是这样的: <?php use yii\jui\DatePicker; ?> <?= DatePicker

YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)

                        YII 框架源码分析             百度联盟事业部--黄银锋   目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 2.2.YiiBase 静态类 5 2.3.组件 6 2.4.模块 9 2.5 .App 应用   10 2.6 .WebApp 应用   11 3.系统组件 13 3.1.日志路由组件  13 3.2.Url 管理组件  15 3.3.异常

yii框架实现注册页面短信验证60秒倒计时

先说下简单的,直接用jquery来实现短信验证60秒倒计时,然后在说明在yii框架下怎么实现的. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

php的yii框架下开发环境xampp,vim,xdebug,DBGp的搭建

php的yii框架下开发环境xampp,vim,xdebug,DBGp的搭建 选择Linux桌面环境Deepin2014.1下开发网站的理由很简单,能截图,有搜狗输入法,可以WPS文档记录,终端下复制粘贴很容易,相比ubuntu,fedora死机次数少了,对,就是不用折腾,自带的. 先说vim和DBGp插件. Deepin2014.1简体中文,自带的vim7.4版本,很多配置已经很适合大陆的人使用了,比如Php和Python的调试支持等,不需要重新编译了.可以节省不少步骤.这里提供一个vim的配

Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 &#39;AR模式&#39;]

public function getMinLimit () {        $sql = "...";        $result = yii::app()->db->createCommand($sql);        $query = $result->queryAll();         return array (                $query [0] ['max'],         );    } $connection=Yii::

yii框架之gii创建数据表对应的model类

一.首先是在数据库中建立工程需要的表: 二.然后,配置对应文件: 在工程目录下yiiProject\protected\config\main.php.在50行定义了db应用组件,下面后一段注释掉了的mysql的链接配置项,我们将未注释的db注释掉,然后打开mysql链接代码并填写相关信息即可完成mysql链接配置项. 即,把下面代码         'db'=>array(             'connectionString' => 'sqlite:'.dirname(__FILE_

YII框架分析笔记10:日志

yii框架中日志组件记录的等级5类,在CLogger已通过常量定义: const LEVEL_TRACE='trace'; const LEVEL_WARNING='warning'; const LEVEL_ERROR='error'; const LEVEL_INFO='info'; const LEVEL_PROFILE='profile'; CLogger为所有日志写入和获取提供接口,通过日志路由管理类CLogRouter将日志分发到不同日志展现或存储介质中. 日志组件配置 [php]