Yii2框架實(shí)現(xiàn)登陸添加驗(yàn)證碼功能示例
本文實(shí)例講述了Yii2框架實(shí)現(xiàn)登陸添加驗(yàn)證碼功能。分享給大家供大家參考,具體如下:
models中
LoginForm.php
public $verifyCode;
public function rules()
{
return [
……
['verifyCode', 'captcha', 'on' => 'login'], //驗(yàn)證碼
];
}
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'=>"驗(yàn)證碼"],
'imageOptions'=>['alt'=>'點(diǎn)擊換圖','title'=>'點(diǎn)擊換圖', 'style'=>'cursor:pointer']
])->label(false) ?>
<?php ActiveForm::end(); ?>
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii2 如何在modules中添加驗(yàn)證碼的方法
- Yii2下點(diǎn)擊驗(yàn)證碼的切換實(shí)例代碼
- Yii2簡(jiǎn)單實(shí)現(xiàn)給表單添加驗(yàn)證碼的方法
- Yii2增加驗(yàn)證碼步驟詳解
- yii2中添加驗(yàn)證碼的實(shí)現(xiàn)方法
- Yii1.0 不同頁(yè)面多個(gè)驗(yàn)證碼的使用實(shí)現(xiàn)
- Yii 2.0自帶的驗(yàn)證碼使用經(jīng)驗(yàn)分享
- Yii輸入正確驗(yàn)證碼卻驗(yàn)證失敗的解決方法
- Yii框架實(shí)現(xiàn)的驗(yàn)證碼、登錄及退出功能示例
- Yii使用Captcha驗(yàn)證碼的方法
- yii實(shí)現(xiàn)創(chuàng)建驗(yàn)證碼實(shí)例解析
- YII2框架中驗(yàn)證碼的簡(jiǎn)單使用方法示例
相關(guān)文章
使用pthreads實(shí)現(xiàn)真正的PHP多線程(需PHP5.3以上版本)
PHP 5.3 以上版本,使用pthreads PHP擴(kuò)展,可以使PHP真正地支持多線程。多線程在處理重復(fù)性的循環(huán)任務(wù),能夠大大縮短程序執(zhí)行時(shí)間2014-05-05
golang實(shí)現(xiàn)php里的serialize()和unserialize()序列和反序列方法詳解
這篇文章主要介紹了golang實(shí)現(xiàn)php里的serialize()和unserialize()序列和反序列方法詳解,需要的朋友可以參考下2018-10-10
php 將bmp圖片轉(zhuǎn)為jpg等其他任意格式的圖片
有時(shí)候我們需要將bmp格式的圖片轉(zhuǎn)換為jpg或gif等格式,大家就可以參考下下面的代碼。2009-06-06

