联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
前端用户的提交间隔为3分钟提交一次
类型:迅睿CMS 更新时间:2020-11-16 11:43:11

网站表单要设置下前端用户的提交间隔为3分钟提交一次,怎么设置

回帖
  • #1楼    迅睿框架创始人
    2020-11-16 11:28:54
    Chrome 0
    两种方案,1 前端js里面做cooke验证时效 (需要前端js技术)2 服务端表单控制器里面做验证session时效 (需要php技术)
  • 迅睿框架技术-实习
    #2楼    迅睿框架技术-实习
    2020-11-16 11:34:18
    Chrome 0

    找到表单前端控制器文件/dayrui/App/Form/Controllers/Test.php

    <?php namespace Phpcmf\Controllers;
    
    /**
     * 二次开发时可以修改本文件,不影响升级覆盖
     */
    
    class Test extends \Phpcmf\Home\Form
    {
    
        public function index() {
            $this->_Home_List();
        }
    
        public function show() {
            $this->_Home_Show();
        }
    
    
         public function post() {
            // 提交前的操作
            if (IS_POST && \Phpcmf\Service::C()->session()->getTempdata('test_post')) {
                $this->_json(0, '提交时间间隔太短了');
            }
            
            // 提交处理
            $this->_Home_Post();
        }
        
        // 新增回调函数
         protected function _Call_Post($data) {
            $cp = parent::_Call_Post($data);
            if ($cp['code']) {
                // 这里写 提交成功时的 你的程序代码
                \Phpcmf\Service::C()->session()->setTempdata('test_post', 'test_post', '180'); // 180表示300秒
                $this->_json($cp['code'], '提交表单成功', $cp['data']);
            } else {
                $this->_json(0, '提交失败', $cp['data']);
            }
        }
    
    }
    满意答案
  • 小昕
    #3楼    小昕
    2020-11-16 11:43:11
    Chrome 0
    @迅睿框架技术-实习:感谢感谢,成功解决