这个很正常,刷新一次等于再执行一次本页面的代码。
方法有很多。先删除相同字段
1:如果使用支持子查询(嵌套查询)的数据库
select * from tablename where primary字段 =(select max(相同的primary字段) from tablename tb where tablename.字段=tb.对应字段 and.....
(其中tablename为一个字段名)
上面是判断重复记录的
删除重复记录
delete 下面的代码与上面的相同
2:如果不支持嵌套
select * from tablename1 left outer join tablename2 on tablename1.字段=tablename2.字段
tablename2为临时表
删除把select改成delete防止插入相同记录的方法:
1:比较笨的,先select一下表,看是否有完全相同的(或者关键字相同的)然后决定是否插入
2:在php.ini记得有禁止发送的选项---好久没有弄忘了
方法有很多。先删除相同字段
1:如果使用支持子查询(嵌套查询)的数据库
select * from tablename where primary字段 =(select max(相同的primary字段) from tablename tb where tablename.字段=tb.对应字段 and.....
(其中tablename为一个字段名)
上面是判断重复记录的
删除重复记录
delete 下面的代码与上面的相同
2:如果不支持嵌套
select * from tablename1 left outer join tablename2 on tablename1.字段=tablename2.字段
tablename2为临时表
删除把select改成delete防止插入相同记录的方法:
1:比较笨的,先select一下表,看是否有完全相同的(或者关键字相同的)然后决定是否插入
2:在php.ini记得有禁止发送的选项---好久没有弄忘了
在form页中加入一句:
<?php
session_start();
$_SESSION['a'] = 0;
?>
提交页这样写:
<?php
session_start();
$_SESSION['a'] = $_SESSION['a']+1;
if ($_SESSION['a'] > 1) {
exit;
;说明已经第二次执行这个程序了,退出去。
} else {
;第一次执行程序;
执行相应的数据库操作。
}
?>
说明:只要当重新执行FORM那个页时时,$_SESSION['a']的值才会重新为0,而提交后它的值也只为1,因此可以执行操作,当你刷新时,这时它的值为加1,执行下一句时,判断它的值为2,即(**FORM提交后**)第二次执行这个程序,则必须退出。
你自已去体会,慢慢理解,我也说的不大清楚,当然,程序也许会有问题,还请包含。