php防止表单重复提交

一、在控制器加载到模版前

public function index(){

        $_SESSION['token'] = md5(microtime(true));

        $this->display();

    }

二、在FORM表单中添加隐藏域

<tr>

                    <td>

                        <input type="hidden" name="token" value="{$Think.session.token}">

                    </td>

                    <td><input type="submit" class="submit btn" value="立即注册"></td>

                </tr>

三、有FORM的ACTION处理页面中进行验证

$token = I('post.token');

        if ($token !== session('token')) {

            $this->error('对不起,令牌验证失败!');

        }else{

            session('token',null);

        }

以下为JS方式来阻止表单提交。

<form id="ticketForm" enctype="multipart/form-data" action="{:U('Index/Index/addTicket')}" method="post" onsubmit ="getElementById('submitInput').disabled=true;return true;">

 

你可能感兴趣的:(重复提交)