[moka同学笔记]Yii2.0验证码
1.Model中Code.php
<?php
/**
* Created by PhpStorm.
* User: moka同学
* Date: 2016/07/25
* Time: 10:48
*/
namespace app\models; use yii\base\Model; class Code extends Model{
public $verifyCode; public function rules()
{
return [
['verifyCode','captcha','captchaAction'=>'code/captcha','message'=>'验证码错误!']
];
}
}
?>
2.控制器中CodeController.php
<?php
/**
* Created by PhpStorm.
* User: moka同学
* Date: 2016/07/25
* Time: 10:46
*/
namespace app\controllers; use app\models\Code;
use yii\web\Controller; class CodeController extends Controller{
public function actions()
{
return [
//验证码
'captcha'=>[
//验证码类
'class'=>'yii\captcha\CaptchaAction',
'maxLength'=>6, //生成验证码的长度最大为4
'minLength'=>4, //生成最小个数4
'width' =>80, //宽度
'height'=>40
]
];
} public function actionIndex(){
$code = new Code();
if(\Yii::$app->request->isPost){
//验证码验证
if($code->validate()){
echo "验证通过";
}else{
var_dump($code->getErrors());
}
} return $this->render('index',['model'=>$code]); }
}
?>
3.视图index.php
<?php
use \yii\helpers\Html;
use \yii\captcha\Captcha;
echo $this->render('@app/views/public/testNav');
?>
<?=Html::beginForm("",'post',['class'=>'forms'])?>
<?=Captcha::widget([
'model'=>$model, //Model
'attribute'=>'verifyCode',//字段
'captchaAction'=>'code/captcha',//验证码的action 与 Model 是对应的,code/captcha
'template'=>'{input}{image}', //模版,可以自定义
'options'=>[
//input 的Html属性配置
'class'=>'input verifycode',
'id'=>'verifyCode'
],
'imageOptions'=>[
//image的Html属性
'class'=>'imagecode',
'alt'=>'点击图片刷新'
]
]);?>
<?=Html::submitButton("提交",['class'=>'submit'])?>
<?=Html::endForm();?>
[moka同学笔记]Yii2.0验证码的更多相关文章
- [moka同学笔记]yii2.0查询数据库
一. [:id占位符]使用 $results = Test::findBySql($sql,array(':id'=>'1 or 1=1))->all() 二. [id=1] 选 ...
- [moka同学笔记]Yii2.0 modal的使用
第一次使用,时候不明白什么原理,大概用了几次后,才模模糊糊搞清楚原来是怎么一回事,现在就把写过的代码,贴在下边. 1.在视图文件中, 第一步首先在index.php文件中 做了一个a链接的按钮 调用了 ...
- [moka同学笔记]yii2.0缓存
1.控制器中CacheDemoController.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/06/29 ...
- [moka同学笔记]yii2.0数据库操作以及分页
1.model中models/article.php 1 <?php 2 3 namespace app\models; 4 5 use Yii; 6 7 /** 8 * This is the ...
- [moka同学笔记]yii2.0表单的使用
1.创建model /biaodan.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * Tim ...
- [moka同学笔记]yii2.0小物件的简单使用(第二种方法)
1.在widgets/TestWidget.php中 <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * T ...
- [moka同学笔记]yii2.0小物件的简单使用(第一种方法)
这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...
- [moka同学笔记]Yii2.0显示页匿名函数设置$value
匿名函数设置$value <?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ // ['cl ...
- [moka同学笔记]Yii2.0给一张表中增加一个属性
1.model中建立关联 public function getUser(){ return$this->hasOne(User::className(),['id'=>'uid']) ; ...
随机推荐
- 关于u-boot中的.balignl 16,0xdeadbeef的理解
.globl _start //不占内存_start: b start_code //占4字节内存 ldr pc, _undefined_instruction //占4字节内存 ldr ...
- dWebBrowser常用知识点
1.webbrowser调用的就是本机IE,并且webbrowser默认就是运行在IE7 mode下,除非你改变它. 2.不装IE,无法用webbrowser. 3.设置WebBrowser在IE9 ...
- html5开发之viewport使用
随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而,每一款手机有不同的分辨率,不同屏幕 ...
- ART:Android 摆脱卡顿的希望?
与 iOS 相比,Android 的用户体验有个相对糟糕的开始.在很长的时间里,界面一直丑小鸭,卡顿也是挥不去的痛.不过,在 Google 的全力推动,以及硬件厂商的响应下,Android 还是跨越各 ...
- 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByTagName
按照标签名获取元素 -- getElementsByTagName 标准 DOM 1在Element和Document两个interface中均有定义,原型NodeList getElementsBy ...
- C++ Low level performance optimize
C++ Low level performance optimize 1. May I have 1 bit ? 下面两段代码,哪一个占用空间更少,那个速度更快?思考10秒再继续往下看:) //v1 ...
- MSIL解析一(转)
转自:http://www.cnblogs.com/Yahong111/archive/2007/08/15/857140.html 在网上发现了一个非常好的MSIL教程,可惜是英文版的,于是就翻译了 ...
- php 使用zendstudio 生成webservice文件 wsdl
首先新建一个项目 在项目中新建下面这些文件 php类文件 test.php <?php class test { public function __construct() { } public ...
- ubuntu remove mysql
ubuntu 彻底删除 mysql 然后重装 mysql 删除 mysql sudo apt-get autoremove --purge mysql-server-5.0sudo apt-get r ...
- Linux高级编程--04.GDB调试程序(设置断点)
调试已运行的程序 在UNIX下用ps查看正在运行的程序的PID(进程ID),然后用gdb PID格式挂接正在运行的程序. 先用gdb 关联上源代码,并进行gdb,在gdb中用attach命令来挂接进程 ...