php token防止表单重复提交的实例代码

发布时间:2019-07-25编辑:脚本学堂
本文介绍下,用php的token防止表单重复提交的一段代码,简单实用,有用到的朋友参考下吧。

在php中防止表单重复提交的方法有很多,比如我们之前介绍过的:
php防止表单重复提交
php防止刷新页面重复提交
php防止用户刷新 重复提交

在本文中,分享的这段代码,使用token方式防止表单的重复提交。

1,php代码:

<?php
/*
* @功能:token防止表单重复提交
* @编辑:www.jb200.com
* @日期:2013/8/12
*/
function set_token() {
$_SESSION['token'] = md5(microtime(true));
}

function valid_token() {
$return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
set_token(); //重新设置token
return $return;
}

//如果token为空则生成一个token
if (!isset($_SESSION['token']) || $_SESSION['token'] == '') {
set_token();
}

if (isset($_POST['test'])) {
if (!valid_token()) {
echo 'token error';
} else {
echo time();
}
}
?>

2,html部分
 

复制代码 代码示例:
<form method="post" action = "">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>" />
<input type="text" name="test" value="good" />
<input type="submit" />
</form>