首页 > 开发 > PHP > 正文

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

2024-05-04 22:42:37
字体:
来源:转载
供稿:网友

本文实例讲述了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中

<?phpuse 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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表