本文实例讲述了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程序设计有所帮助。