表單令牌的作用:避免表單的重復提交(如在tp5提交成功等待跳轉頁面刷新頁面會在次提交表單)
原理:在初始化表單時,生成一個session標識‘token’,提交表單時將這個token一起提交過去,然后和session中的token對比,如果驗證通過,清空session中的token
用法:
在表單中添加<input type="hidden" name="__hash__" value="{$Request.token}" />或者{:token()}
在驗證器中添加規則,驗證是否符合
protected $rule = [
'__token__' => 'require|token',
];
protected $message = [
'__token__.require' => '非法提交',
'__token__.token' => '請不要重復提交表單'
];
因為數據表中沒有__hash__字段,要刪除表單提交過來中數據中的__hash__字段