网络编程
位置:首页>> 网络编程>> php编程>> Yii2框架实现登陆添加验证码功能示例

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

作者:弥尘  发布时间:2023-11-21 11:36:32 

标签:Yii2框架,验证码

本文实例讲述了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框架的PHP程序设计有所帮助。

来源:http://www.cnblogs.com/baby123/p/4837289.html

0
投稿

猜你喜欢

  • Real Numbers实数实数是具有小数部分的数字, 当然, 实数不是专门用来表示小数的, 也可以用DECIMAL来存储那些无法用INTE
  • 在 IT 开发中,有时我们需要对结构体数组进行排序。Go 语言提供了 sort 包,其中最常用的一种是 sort.Slice() 函数。但是
  • 阅读上一篇:FrontPage2002简明教程一:安装与界面FrontPage中对于文字与图像的处理与Word很相似,用过Word的人对于F
  • PHP count() 函数实例计算 car 节点的子节点个数:<?php $xml=<<<XML<cars&
  • #测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVE
  • 基本简介dot函数为numpy库下的一个函数,主要用于矩阵的乘法运算,其中包括:向量内积、多维矩阵乘法和矩阵与向量的乘法。1. 向量内积向量
  • 描述的意思是HTML为中心的前端开发也差不多是web标准的意思。1.HTML是基础2.CSS依靠选择符提供视觉;3.Javascript 依
  • 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致
  • 如何最准确地统计在线用户数?我们推荐的这个程序据说是目前最好的在线用户数量统计程序。代码如下:'首先要设置好global.asa&n
  • function commafy() { var num = document.getElementById("NumA"
  •   5月20日,微软正式提供了Windows XP下可用的雅黑字体下载,雅黑字体是一款近乎完美的字体,解决了宋体小文字无法辩认的问
  • 前言接口在面向对象编程中是经常使用的招式,也是体现多态很重要的手段。是的。Golang中也有接口这玩意儿。1.为什么需要接口?多数情况下,数
  • 通常,当一个页面有太多信息要显示,而一页塞又不下所有信。为了请求速度、美观以及其他的各种理由,分页就会被我们请过来。让我们的用户可以选择是否
  • 创意404页面的文章我们似乎已经出过两篇了,今天hongkiat又带来了60个创意404页面.相关404页面设计文章:国外404错误页面的创
  • 一个站点成功与否,不是在于所用的程序语言是PHP还是ASP,也不在于用BLOG建站或是CMS建站,内容和专业很重要。博客很好起步,CMS体系
  • 当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大
  • Abs (数值)绝对值。一个数字的绝对值是它的正值。空字符串 (null) 的绝对值,也是空字符串。未初始化的变数,其绝对为 0例子:ABS
  • 【译者的话】 作为一家非盈利性的防止青少年 * 的机构, Five Alive 希望拥有一个独特的标志来配合机构的宣传。他们决定在网站上通过竞
  • 无论安装何版本的mysql,在管理工具的服务中启动mysql服务时都会在中途报错。内容为:在 本地计算机 无法启动mysql服务 错误106
  • Macromedia官方将在其他软件中内建Fireworks技术称为Fireworks技术,网上也称之为内建图片编辑器。Dreamweave
手机版 网络编程 asp之家 www.aspxhome.com