本文实例讲述了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" => "yiiwebErrorAction",      ],      "captcha" => [        "class" => "yiicaptchaCaptchaAction",        "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 yiihelpersHtml;use yiiootstrapActiveForm;use yiicaptchaCaptcha;?><?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程序设计有所帮助。