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
投稿
猜你喜欢
- Laplace分布定义:下面先给出Laplace分布实现代码:import matplotlib.pyplot as pltimport n
- 热词图很酷炫,也非常适合热点事件,抓住重点,以图文结合的方式表现出来,很有冲击力。下面这段代码是制作热词图的,用到了以下技术:jieba,把
- 一、MySQl命令行客户端在Mysql安装完成后,Mysql命令行会自动配置在计算机上,在菜单中找到MySql 8.0 Command Li
- 本文实例讲述了Centos7.4环境安装lamp-php7.0的方法。分享给大家供大家参考,具体如下:一. 环境准备桥接模式能访问外网#pi
- 本文实例为大家分享了pygame实现弹球游戏的具体代码,供大家参考,具体内容如下pygame弹球游戏写的很简陋pip install pyg
- 一、概述最近遇到一个需求,需要使用office365邮箱发送邮件,使用SSL发送会失败,必须使用TLS加密协议才能发送成功。二、完整代码使用
- 主要是:前序遍历、中序遍历、后序遍历、层级遍历、非递归前序遍历、非递归中序遍历、非递归后序遍历#!/usr/bin/env python#-
- 如下所示:import pandas as pdpath='F:/python/python数据分析与挖掘实战/图书配套数据、代码/
- 介绍我们可以通过控制HeaderStyle, RowStyle, AlternatingRowStyle和其他一些属性来改变GridView
- RegExp就是建立正则的对像。如:Set regEx = New RegExp regE
- 前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是
- 本文实例讲述了Go语言使用HTTP包创建WEB服务器的方法。分享给大家供大家参考,具体如下:在Golang中写一个http web服务器大致
- property() 函数的作用是在新式类中返回属性值。Python中有一个property的语法,它类似于C#的get set语法,其功能
- Python程序能用很多方式处理日期和时间。转换日期格式是一个常见的例行琐事。Python有一个 time 和 calendar 模组可以帮
- 一、TensorFlow介绍1、简介 TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,
- 1. 首先看要设置登陆的界面 book/view.py@user_util.my_login #相当于 select_all=my_logi
- PyCharm是Python著名的Python集成开发环境(IDE)conda有Miniconda和Anaconda,前者应该是类似最小化版
- 下载MySQL-8.0.23点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz解压MySQL的安
- cuDNN使用非确定性算法,并且可以使用torch.backends.cudnn.enabled = False来进行禁用如果设置为torc
- 前言由于自己并不以Python语言为主,这里只是简单介绍一下Numpy库的使用提示:以下是本篇文章正文内容🧡Numpy库介绍numpy 库处