yii 验证码功能的实现

Posted 木楊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii 验证码功能的实现相关的知识,希望对你有一定的参考价值。

首先知晓我们在使用验证码的时候通常是和我们的表单小部件配合使用
首先我们创建model层

新建一个php文件 名字叫做Verifycode.php

要在我们的model层 创建我们的验证码的验证规则,我这里简单的写两个规则 一个是 非空 另一个是验证码必须验证正确

规则写在我们的model的rules里

<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/2/13
* Time: 13:57
*/

namespace frontendmodels;

use yiiaseModel;
use yiiwidgetsActiveForm;
use yiihelpershtml;

class Verifycode extends Model
{
/*定义需要使用的标量*/

public $verifycode;

public function rules(){
return[
[‘verifycode’,’required’],
[‘verifycode’, ‘captcha’],
];
}
public function attributeLabels()
{
return array(
‘verifycode’=>’验证码’,
);
//’rememberMe’=>’Remember me next time’,
}
}
然后新建控制器层 创建一个php文件名字叫做VerifycodeController.php
<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/2/13
* Time: 14:03
*/

namespace frontendcontrollers;
use yiiwebController;
use frontendmodelsVerifycode;
class VerifycodeController extends Controller
{
public function actionIndex(){
$model = new Verifycode();
return $this->render(‘index’,[‘model’=>$model]);
}
}

接下来创建view层
新建一个php文件 名字叫做index.php
<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/2/13
* Time: 14:07
*/

use yiicaptchaCaptcha;
use yiiwidgetsActiveForm;
use yiihelpersHtml;
$form = ActiveForm::begin([
‘id’ => ‘login-form’,
‘options’ => [‘class’ => ‘form-horizontal’],
‘action’=>’?r=index/login’,
‘method’=>’post’,
]) ?>
<?= $form->field($model, ‘verifycode’)->widget(Captcha::className()) ?>
<div class=”form-group”>
<div class=”col-lg-offset-1 col-lg-11″>
<?= Html::submitButton(‘Login’, [‘class’ => ‘btn btn-primary’]) ?>
</div>
</div>
<?php ActiveForm::end() ?>

































































以上是关于yii 验证码功能的实现的主要内容,如果未能解决你的问题,请参考以下文章

Yii2自带验证码实现

Yii2.0自定义验证码

Yii中验证码的设置

Yii2在Form中处理短信验证码的Validator,耦合度最低的短信验证码验证方式

Yii2验证码使用教程

Yii2注册验证码