php避免插入重复数据 php接口防止重复请求

php 如何避免刷新页面重复插入数据到数据库

每次进入提交的页面,给一个session,为了避免重复,session的key可以是随机的。

创新互联公司专注于嘉兴网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供嘉兴营销型网站建设,嘉兴网站制作、嘉兴网页设计、嘉兴网站官网定制、重庆小程序开发服务,打造嘉兴网络公司原创品牌,更为您提供嘉兴网站排名全网营销落地服务。

在表单填写页面

?php

session_start(); // 启用session

$time = time();

$key = 'sess_' . $time; // 根据时间生成一个随机的session key

$_SESSION[$key] = $time; // 设置session的值

?

!--{通过隐藏表单将 session 的 key传递到服务端处理}--

input type="hidden" name="session_key" value="?php echo $time;?" /

处理页面

?php

session_start(); // 启用session

$key = $_POST['session_key'];

if(!$key || $_SESSION[$key] != substr($key, 5)){

// 如果没有传 session_key 参数

// 或者 session_key 参数值截断 sess_后的数字 与 session参数值不匹配

unset($_SESSION[$key]); // 删除 session 值

// 然后考虑是否要提示错误,或者转入另一个页面

exit(); // 终止页面代码执行

}

// 下面进行数据写操作

// 数据操作完成后,删除session

unset($_SESSION[$key]);

// 后续操作

?

$########################

一个页面也是一样的,我给你的只是一个思维,

具体如何实现,你要根据自己的实际情况去处理

很多东西都不是通用的

另外,不管多少个页面,必然包含两个部分,一部分是表单填写,一部分是数据处理,这个跟多少个页面无关~~就看你是否能够理解这段代码的意义,如果不理解的话,嵌套进去也没啥用,能够理解的话,或许你能够找出更适合自己的解决方案

PHP 怎么防止GET方式提交重复数据?

PHP 防止表单重复提交,使用令牌来做验证,即可解决。示例如下:

index.php:

?php 

header("Content-type:text/html;charset=utf-8");

//开启session

session_start();

//如果令牌为空,则生成一个令牌

if(!isset($_SESSION['token'] )    || $_SESSION['token'] == ""){

//给当前表单生成一个令牌

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

}

?

form method="get" action="deal.php"

名称: input type="text" name="names"br/

描述: input type="text" name="desc"br/

input type="text" name="token" value="?=$_SESSION['token']?"

input type="submit" value="提交"

/form

deal.php:

?php

header("Content-type:text/html;charset=utf-8");

//开启session

session_start();

//验证令牌

if($_REQUEST['token'] === $_SESSION['token']){

//表单已经提交,重新生成令牌

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

echo "表单提交成功:br/";

print_r($_REQUEST);

}else{

echo "重复提交";

}

?

php 如何在导入Excel数据时检查Mysql数据库内容是否存在,避免重复录入?

如果不想每条查询一次,可以提前做一个统一查询

$sql=mysql_query("select distinct Code from test ",$conn);

$sqlvalue=[];

while($row=mysql_fetch_array($sql)){

$sqlvalue[]=$row['Code'];

}

另外 ,可以在建表的时候设置unique index,来彻底避免插入重复记录,如果没过滤好插入重复记录的时候,系统会直接报错


网站名称:php避免插入重复数据 php接口防止重复请求
文章来源:http://hbruida.cn/article/dddggej.html