网络编程
位置:首页>> 网络编程>> 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
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com