zoukankan      html  css  js  c++  java
  • laravel 5.2 使用 captcha 实现 验证码

    案例:

      

     一 .  首先在laravel的项目下找到composer.json 文件 ,在composer.json中的require数组中加上 

        "gregwar/captcha": "1.*",   使用composer update  命令更新一下  这样一来的话,就算是安装上这个库或者是中间件了。之后就可以放肆的写你的代码了

    二. 定义路由:
      
    Route::get('/admin/code','AdminLoginController@code');

     定义好路由后在控制器加入一下代码:

     

    <?php
    
            use GregwarCaptchaCaptchaBuilder;
            
             public function code(Request $request)
           {
             //生成验证码图片的Builder对象,配置相应属性 
                 $builder = new CaptchaBuilder;
             //可以设置图片宽高及字体
                 $builder->build(120, 40);
             //存储验证码
                 Session::set('admin_yzm', $builder->getPhrase()); 
             //生成图片
                 header("Cache-Control: no-cache, must-revalidate");
                 header('Content-Type: image/jpeg');
                 $builder->output();
    
           }    

     三 . blade 模板的调用

      

     <form method="post" class="layui-form" action="{{url('/login_do')}}">
                <input name="username" placeholder="用户名"  type="text" lay-verify="required" class="layui-input" >
                <hr class="hr15">
                <input name="password" lay-verify="required" placeholder="密码"  type="password" class="layui-input">
                <hr class="hr15">
                <input type="text" class="" placeholder="验证码" id="yzm" name="yzm" style=" 50%;height: 40px;padding: 6px 12px;font-size: 14px;border: 1px solid #cccccc;border-radius: 4px;">
                {{csrf_field()}}
                <a onclick="re_captcha()" ><img src="{{url('/admin/code?tmp=1')}}"  alt="验证码" title="刷新图片" width="120" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"></a>
                <input value="登录" lay-submit  style="100%;" type="submit">
                <hr class="hr20" >
    
            </form>
    
    JS代码:
        <script>
        function re_captcha() {
                $url = "{{ URL('/admin/code')}}";
                $url = $url + "?tmp=" + Math.random();
                document.getElementById('c2c98f0de5a04167a9e427d883690ff6').src=$url;
            }
        </script>

    大功告成,欢迎各位提供建议

      

      
  • 相关阅读:
    laravel 查询指定字段的值
    laravel 连表查询数据库
    jar包在控制台下运行
    jsp 中文乱码
    PHP垃圾回收深入理解
    php在foreach中使用引用赋值&可能遇到的问题
    接口和抽象类有什么区别
    关于php优化 你必须知道的一些事情
    yii 表单小部件
    yii 表单小部件的使用方式
  • 原文地址:https://www.cnblogs.com/dadiaomengmei/p/11655827.html
Copyright © 2011-2022 走看看