求php页面不重复提交和不重复插入数据的解决办法????

<?php
session_start();
$id_lucky = $_POST['id_lucky'];
$customer = $_POST['customer'];
$prize = $_POST['prize'];
$hide = $_POST['hidden'];
//var_dump($_SESSION);
if($hide==$_SESSION['conn'])
{
$sql=mysql_query("insert into "._DB_PREFIX_."luckdraw (customer,prize) values ('$customer','$prize')");
echo "亲,提交成功了哦";

}else
{
echo "<script>return false;</script>";
}
session_destroy();
这是我的代码,求大师指点
一提交过去执行了 echo "亲,提交成功了哦"; 但是数据没插入,刷新后 echo "亲,提交成功了哦";没有了,然后才插入数据,这是为什么呢?
我想过,可能是插入数据需要时间,但该怎么解决呢

<?php 
session_start();
$id_lucky = $_POST['id_lucky'];
$customer = $_POST['customer'];
$prize = $_POST['prize'];
$hide = $_POST['hidden'];
//var_dump($_SESSION);
if($hide==$_SESSION['conn'])//你这里判断的session是什么时候存入session的
{
    $sql=mysql_query("insert into "._DB_PREFIX_."luckdraw (customer,prize) values ('$customer','$prize')");
    //你这里没有判断 你应该在这里判断一下mysql_query是否执行成功 执行sql成功 是提交成功 否则是失败 建议你使用var_dump($sql)打印$sql看看$sql是什么数据类型
    if($sql){
echo "亲,提交成功了哦";
}else{
echo '失败';
}
  
}else
{
echo "<script>return false;</script>";    
}
session_destroy();

追问

谢谢,我想明白了

温馨提示:内容为网友见解,仅供参考
无其他回答

php 提交表单到当前页面如何防止页面刷新重复提交~
最常用的方法就是利用token。即:1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。3、不管第2步的校验是否通过,token只要使用一次后...

...有个表单.每次刷新页面时老是提示不要重复提交表单?怎样去掉这个...
我们要做的就是告诉浏览器:放心刷新。这也是解题的思路:在刷新时把表单撤了。当然,我的情况可能和你的不同,我写的是弹窗式的登录页面,所以,我用Jquery写了个Load(“b.html”),b.html里只有一个。这样做就可以保证a.html里没有。只有你的网页里有,chrome就会提示“重新提交表单”。这个情况...

PHP关于避免 页面刷新时 重复提交表单的问题。。
其实有一个不太好的办法 就是当用户提交表单之后,用js弹出一个框,已成功提交,echo "alert('已成功提交')";然后用php的header或者js跳转到提交页面 header("location:$post");这样相当于自己刷新了一遍页面,然后用户再怎么刷新也没事 虽然用户体验不是很好,不过如果没用Ajax的话,正常提交也要刷...

...返回页面刷新后会提示‘如图’不想再重复提交一次怎么办_百度知 ...
在浏览器返回上一步操作的时候,上一个页面的表单存在缓存,所以执行普通的刷新操作会有个浏览器的警告提示,这时候需要进行强制刷新的操作。只需要将window.location.reload()改为:window.location.href=window.location.href即可。

如何避免表单的重复提交
要解决这个问题其实并不难。这里有一个简单的方法避免同一表单的重复提交。首先,我们可以定义一个session变量用来保存一个表单的提交序列号。这里我定义为$userLastAction。然后在表单里加入一个hidden变量,把值设为$userLastAction+1:最后,在处理提交之前判断表单是否已被提交过:if($lastAction$user...

数据写入sql问题(php的)钻牛角尖的问题..
你多余的数据是刷新进去的,等你有经验就知道想办法防止用户刷新,比如把数据提交到一个框架。但是所有的防止刷新措施的功能都是有限的,搞破坏的人可以想尽办法进行刷新。所以应该象百度贴吧一样,检查提交的内容,禁止重复提交。

php页面提交失败如何放回php页面提交失败如何放回桌面
下面的代码片段可以阻止用户填写表单,当他们点击“提交”按钮返回时,刚刚填写的表单内容不会被清除:会话缓存限制器(诺卡奇);会话缓存限制器(private 会话缓存限制器(public session_start()。参考地址:http:\/\/bbs.phpchina.com\/thread-90346-1-1.html PHP如何解决刷新页面表单重复提交?最常用的方法就...

关于用POST方法提交,怎么防止刷新时重复提交数据的有关问题求解答
---解决方案--- 1 表单提交后跳到另外一个页面 2 像 @PhpNewnew 说的,使用AJAX提交 使用AJAX POST的时候,要注意提交按钮的“锁定”。3 给表单赋上一个唯一的uniqid,提交表单的时候检查此值。

php 网站怎么做到,不刷新页面,实时自动跟新数据
不刷新页面更新数据,一般有两个方法实现,都离不开JAVASCRIPT。现在最流行的就是AJAX,是用JS脚本连接数据库更新数据,刷新页面部分区域内容,不刷新整个网页。另外一个是比较经典、但是兼容性更高的方法,设置一个隐藏的FRAME或者iFRAME帧,那个帧不断刷新PHP页面,页面内容为改变可见帧内容的JS。

php执行insert怎么就一次插入了2条记录, 我只想插入1条记录
首先,你得看是不是有重复提交表单,然后你再看看是不是有insert数据的时候,是不是有进行循环插入操作了,不然应该不会出现这个问题,肯定不是数据库的问题,如果是数据库的问题,那你根本运行不了,插入不了数据~~~

相似回答