验证码

安装验证码tp6安装3.0版本,tp5.1安装2.0
composer require topthink/think-captcha=2.*

1.在controller下新建一个Login.php
class Login extends Controller
{
//登录界面
public function index(){
return View('index@login/index');

}

//登录处理
public function login(Request $request){
    //验证器去验证验证码
    $ret=$this->validate($request->post(),LoginValidate::class);
    if (true !== $ret){
        return $this->error($ret);
    }
    dump($request->post());
}

}
2.在validate下新建一个LoginValidate.php做验证
class LoginValidate extends Validate
{
protected rule= [ 'code'=>'require|captcha' ]; protectedmessage=[
'code.captcha'=>'验证码都不输,怎么回事?'
];
}

3.设置路由
/路由登录
Route::get('login','index/login/index');
Route::post('login','index/login/index');

4.在view下新建一个login/index.html

里面就是正常的表单提交

    //验证码界面

    <div class="form-group">
                <label class="col-sm-2 control-label">验证码:</label>
                <div class="col-sm-5">
                    <input type="text" class="form-control" name="code">
                </div>
                <div class="col-sm-5">
                    <img src="{:captcha_src()}" id="vcode">
                </div>
            </div>

//验证码点击切换代码(放到最后就可以了)
<script>
//点击更换验证码图片
('#vcode').click(function(){ let rnd=Math.random(); console.log(rnd);(this).attr('src','{:captcha_src()}?vt='+rnd);
})
</script>
//link连接下放置下面的代码,让鼠标放在界面上有手势
<style>
#vcode{
cursor: pointer;
}
</style>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。