防止表单重复提交

因为项目需要表单提交,可是发现了必须要防止用户提交,经过了几个小时的百度旅游总算找到的方法,其实说到底还是看官方手册来的头绪,以后看来要多看。。。。。。。

其实好像就是验证器中加入token的验证而已,撸代码吧

首先在html的from中加入下列代码,其实官方手册有说明的

1

2

3

{:token()}

或者

<input type="hidden" name="__token__" value="{$Request.token}" />

  然后再控制器中加入

        $token = input("__token__");//获取提交过来的令牌

        $data = [

            '__token__' => $token,

        ];

        //验证路由

        $rule = [

            '__token__' => 'token',

        ];

        //错误信息

        $msg = [

            '__token__' => '请不要刷新该页面!',

        ];

        //引入验证类

        $validate = Validate::make($rule,$msg);

        if (!$validate->check($data)) {

       //如果验证不通过则错误页面并显示错误信息,3s后跳转指定页面

            $this->error($validate->getError(), url("Index/index"));

        }else{ 

       //通过后则正常进行


}       

  记得use think\Validate

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容