重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php数据重复插入 php重复提交

PHP插入数据后再刷新,又插入了一条.怎样解决

防止刷新重复提交,用Session+表单隐藏字段的方法

创新互联是一家集网站建设,江汉企业网站建设,江汉品牌网站建设,网站定制,江汉网站建设报价,网络营销,网络优化,江汉网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

设置session值如 forum1=0

正常提交后判断此session值,如果为0,就正常执行,执行完后将其置为1

下次再刷新提交时.此session已经为1了.不执行处理段.直接给跳走或者报错即可

php中怎么循环插入数据库

把复选框的值作为参数提交,作为循环的次数

$s1 = $_POST['s1'];//获取样品数量

for($i = 1; $i=$s1; $i++){

$tmp = $_POST['smp'.$i]; //这里是对应循环中的文本框name属性

$sql = "insert into 表名(字段....) values('样品名',数量)";

mysql_query($sql,$conn);

}

这样写,能看明白么?

php一次insert插入2个重复的值

不可能一个insert语句插于两条重复数据,一般可能是你的语句执行了两次,或者页面被F5重复提交了。

一般你的插入语句要检查一下内容是否重复,重复内容不让提交,比如你到百度贴吧发帖子就会发现,重复的内容是无法发布的。

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]);

// 后续操作

?

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

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

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

很多东西都不是通用的

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

thinkphp 数据库插入时重复插入

你在插入之前要先对数据进行一次过滤也就是逻辑上得唯一判断后再作入库处理,否则提示已存在不插入即可。

PHP如何判断是否重复插入记录?

在插入数据之前,可以从数据库查询,

如果没有这条数据我们进行插入操作,存在就跳过。

?php

$sql = "SELECT *  FROM table WHERE ctime = '上午' AND week = '周一'";

$result = mysql_query($sql);

if (!$result) {

//没有查询到此记录,进行插入操作

}

?

望采纳 Thx


当前文章:php数据重复插入 php重复提交
路径分享:http://cqcxhl.com/article/hepohs.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP