欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Yii2框架实现登陆添加验证码功能示例

程序员文章站 2022-05-02 23:06:10
本文实例讲述了yii2框架实现登陆添加验证码功能。分享给大家供大家参考,具体如下: models中 loginform.php public $verifyc...

本文实例讲述了yii2框架实现登陆添加验证码功能。分享给大家供大家参考,具体如下:

models中

loginform.php

public $verifycode;
public function rules()
{
   return [
      ……
      ['verifycode', 'captcha', 'on' => 'login'], //验证码
   ];
}
public function scenarios() {
    $scenarios = parent::scenarios();
    $scenarios['login'] = ['username', 'password', 'rememberme', 'verifycode'];
    return $scenarios;
}

controller中

public function actions()
{
    return [
      'error' => [
        'class' => 'yii\web\erroraction',
      ],
      'captcha' => [
        'class' => 'yii\captcha\captchaaction',
        'fixedverifycode' => yii_env_test ? 'testme' : null,
        'width' => 100,
        'height' => 34,
        'padding' => 0,
        'minlength' => 4,
        'maxlength' => 4,
      ],
    ];
}
public function actionlogin()
{
    if (!\yii::$app->user->isguest) {
      return $this->gohome();
    }
    $model = new loginform(['scenario' => 'login']);
    if ($model->load(yii::$app->request->post()) && $model->login()) {
      return $this->goback();
    } else {
      return $this->render('login', [
        'model' => $model,
      ]);
    }
}

view中

<?php
use yii\helpers\html;
use yii\bootstrap\activeform;
use yii\captcha\captcha;
?>
<?php $form = activeform::begin(['id' => 'login-form']); ?>
<?= $form->field($model, 'verifycode')->widget(captcha::classname(), [
          'template' => '<div class="input-group input-group-lg col-md-8"><span class="input-group-addon"><i class="glyphicon glyphicon-eye-open red"></i></span>{input}<div class="input-group-addon" style="padding:5px;">{image}</div></div>',
          'options' => ['class' => 'form-control','placeholder'=>"验证码"],
          'imageoptions'=>['alt'=>'点击换图','title'=>'点击换图', 'style'=>'cursor:pointer']
 ])->label(false) ?>
<?php activeform::end(); ?>

更多关于yii相关内容感兴趣的读者可查看本站专题:《yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于yii框架的php程序设计有所帮助。