我从HTML表单里接受数据,然后插入数据库,但是,如果再刷新一下页面的话,又会插入一条相同的数据
请问如何做才能保证不再插入这种内容。而必须要由表单提交过来的数据才能被插入呢?
请问如何做才能保证不再插入这种内容。而必须要由表单提交过来的数据才能被插入呢?
解决方案 »
- mysql到底被oracle怎么了?有新进展了吗
- 关于ecshop里面的东东 菜鸟提问
- PHP官方站点也有中文版的手册了
- php 有没有类似饼状图那样的统计的插件啊?
- 系统存在严重漏洞,如何过滤用户输入的元数据
- 如何实现网站组件的可插拔
- php有抓取动态数据的组件不
- #2013 - Lost connection to MySQL server at 'reading initial communication packet
- 问一个关于PHP跳转的问题。
- php页面跳转中数据的传值问题
- zendstudio调试 装了zend,要调试还再次安装PHP环境吗?MySQL也要重装吗?
- 请问这个网站用到了哪些技术?我要仿建一个需要些什么?
我代码是这样写的!!if(isset($_POST))
{
$sqlstr="INSERT INTO `post`(`name`,`gender`,`photo`,`qq`,`email`,`ip`,`title`,`content`,`time_at`) values('$name','$gender','$pic','$qq','$email','$ip','$title','$content',NOW())";
mysql_select_db($dbname,$dbconn);
$result = mysql_query($sqlstr);
mysql_close($dbconn);
if($result>0)
{
echo "<script>alert('插入数据成功!')</script>";
}
unset($_REQUEST);
}
但是,不能刷新,刷新的话刚才提交的数据又会重新写入数据库。index页面,肯定少不了刷新的。
清除$_POST 也没用啊!!
正常提交后判断此session值,如果为0,就正常执行,执行完后将其置为1
下次再刷新提交时.此session已经为1了.不执行处理段.直接给跳走或者报错即可
if(isset($_POST))
{
$sqlstr="INSERT INTO `post`(`name`,`gender`,`photo`,`qq`,`email`,`ip`,`title`,`content`,`time_at`) values('$name','$gender','$pic','$qq','$email','$ip','$title','$content',NOW())";
mysql_select_db($dbname,$dbconn);
$result = mysql_query($sqlstr);
mysql_close($dbconn);
if($result>0)
{
echo "<script>alert('插入数据成功!')</script>";
}
unset($_REQUEST);
header("location: index.php");
}
if(isset($_POST))
{
$sqlstr="INSERT INTO `post`(`name`,`gender`,`photo`,`qq`,`email`,`ip`,`title`,`content`,`time_at`) values('$name','$gender','$pic','$qq','$email','$ip','$title','$content',NOW())";
mysql_select_db($dbname,$dbconn);
$result = mysql_query($sqlstr);
mysql_close($dbconn);
if($result>0)
{
echo "<script>alert('插入数据成功!');location.href='index.php';</script>";
}
unset($_REQUEST);
}