Yii2下点击验证码的切换实例代码

发布时间 - 2026-01-11 00:10:00    点击率:

最近需要用到验证码,搜索了很多关于Yii2验证码的切换的介绍,下面我来记录一下,有需要了解Yii2下验证码的切换的朋友可参考。希望此文章对各位有所帮助。

模型代码如下:

<?php
namespace app\admin\models;
use yii;
use yii\base\model;
use yii\captcha\Captcha;
class LoginForm extends Model{
  public $verifyCode;
  public $password;
  public $username;
  public function rules(){
    return [
      ['verifyCode','captcha','captchaAction'=>'/admin/login/captcha','message'=>'{attribute}'],
      [['password','username'],'required'],
    ];

  }
}

控制器代码如下:

<?php
namespace app\admin\controllers;
use Yii;
use yii\web\Controller;
use app\admin\models\LoginForm;
use yii\filters\AccessControl;
use yii\filters\VerbFilter;
use yii\captcha\CaptchaAction;
class LoginController extends Controller{

 public function actions(){
   return [
     'captcha'=>'yii\captcha\CaptchaAction',
     'maxLength'=>4,
     'minLength'=>3,
     'width'=>10,
     'height'=>10
   ];
  }

  public function actionIndex(){
    $log = new LoginForm();
    
     return $this->renderPartial("index",['model'=>$log]);
  }
  //授权规则
}

视图代码如下:

<?php
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use app\assets\AppAsset;
use yii\widgets\ActiveFiel;
use yii\widgets\ActiveForm;
use yii\captcha\Captcha;
use app\components\HelloWidget;
//url 创建
use yii\helpers\Url;
AppAsset::register($this);
?>
<?php $this->beginPage()?>
<!DOCTYPE html>
<html>
<head>
  <title>博客后台管理系统</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <?=Html::cssFile('@web/css/bootstrap.min.css')?>
  <?=Html::cssFile('@web/css/style.css')?>
  <?=Html::jsFile("@web/js/jquery-1.11.3.min.js");?>
  <?=Html::jsFile("@web/js/bootstrap.min.js");?>
<?php ?>

</head>
  <?php $this->beginBody()?>
<body>
<div class="login-box">
  <div class="login">
    <div class="login-icon">

    </div>
    <h4 class="login-title">博客后台管理系统</h4>
    <?php $form=ActiveForm::begin(['method'=>'post','action'=> \Yii::$app->urlManager->createUrl('/admin/login/index')])?>
      <div class="login-input-box mb10">
       <input type="text" class="form-control" name="username" placeholder="用户名">
      </div>
      <div class="login-input-box mb10">

        <input class="form-control" type="password" name="password" placeholder="密码">
      </div>
      <div class="login-input-box mb30">
        <input class="form-control" type="text" name="code" placeholder="验证码">

        <span class="login-code">
          <img id="code_img" src="<?= Url::toRoute('/admin/login/captcha')?>" title="点击刷新验证码" onClick="get_code(this);">
        </span>
      </div>
      <input class="inputbtn bg-success btn-block" type="submit" value="登 录">
    <?php ActiveForm::end();?>
  </div>
</div>
<script type="text/javascript">
  //刷新验证码
  function get_code(obj)
  {

    if(!obj)
    {
      obj = document.getElementById('code_img');
    }
    obj.src = obj.src + "&t="+Date.parse(new Date());
  }
</script>
</body>
  <?php $this->beginBody()?>
</html>

<?php $this->endPage()?>

这里整个代码差不多了但是要设置一样更重要的 app/vendor/yiisoft/yii2/captcha/的文件下的CaptchaAction.php这文件中修改getVerifyCode($regenerate = false) 的方法$regenerate参数为true (getVerifyCode($regenerate = true))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# yii2  # 验证码  # yii2点击刷新验证码  # Yii2框架实现登陆添加验证码功能示例  # Yii2 如何在modules中添加验证码的方法  # Yii2简单实现给表单添加验证码的方法  # Yii2增加验证码步骤详解  # yii2中添加验证码的实现方法  # Yii1.0 不同页面多个验证码的使用实现  # Yii 2.0自带的验证码使用经验分享  # Yii输入正确验证码却验证失败的解决方法  # Yii框架实现的验证码、登录及退出功能示例  # Yii使用Captcha验证码的方法  # yii实现创建验证码实例解析  # YII2框架中验证码的简单使用方法示例  # 管理系统  # 我来  # 博客  # 更重要  # 大家多多  # 差不多了  # width  # maxLength  # minLength  # log  # renderPartial  # height  # actionIndex  # actions  # Controller  # filters  # Yii  # web  # CaptchaAction 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何在阿里云虚拟主机上快速搭建个人网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何在Ubuntu系统下快速搭建WordPress个人网站?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  jquery插件bootstrapValidator表单验证详解  如何在云主机上快速搭建多站点网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  IOS倒计时设置UIButton标题title的抖动问题  利用python获取某年中每个月的第一天和最后一天  百度浏览器如何管理插件 百度浏览器插件管理方法  如何在Windows环境下新建FTP站点并设置权限?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel API资源类怎么用_Laravel API Resource数据转换  js实现点击每个li节点,都弹出其文本值及修改  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何快速查询网址的建站时间与历史轨迹?  微信小程序 require机制详解及实例代码  如何在云指建站中生成FTP站点?  如何在腾讯云服务器快速搭建个人网站?  javascript中的try catch异常捕获机制用法分析  如何在香港服务器上快速搭建免备案网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Laravel如何使用Blade模板引擎?(完整语法和示例)  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在阿里云服务器自主搭建网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  简单实现jsp分页  Python文件流缓冲机制_IO性能解析【教程】  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel如何实现文件上传和存储?(本地与S3配置)  5种Android数据存储方式汇总  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  香港网站服务器数量如何影响SEO优化效果?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  教你用AI将一段旋律扩展成一首完整的曲子  如何在自有机房高效搭建专业网站?