php F5 刷新问题
写入完一条信息之后按F5刷新同样的信息还会在输入进去该如何避免,解决这个问题还有个问题就是有一条信息是提交到本页面的让本页面也显示该信息如果防止刷新是不是该提交信息也不会...
写入完一条信息之后 按F5刷新 同样的信息还会在输入进去
该如何避免,解决这个问题
还有个问题就是有一条信息是提交到本页面的让本页面也显示该信息 如果防止刷新是不是该提交信息也不会提交呢?
该如何解决 防止刷新但这条信息也能提交上去
<form method=post name=form1 action=assy.php?insert=1&eqp=<?=$eqp?>>
我提交的是这个信息 eqp=<?=$eqp?>
因为此信息不写入数据库所以能否让其一直可以提交呢? 展开
该如何避免,解决这个问题
还有个问题就是有一条信息是提交到本页面的让本页面也显示该信息 如果防止刷新是不是该提交信息也不会提交呢?
该如何解决 防止刷新但这条信息也能提交上去
<form method=post name=form1 action=assy.php?insert=1&eqp=<?=$eqp?>>
我提交的是这个信息 eqp=<?=$eqp?>
因为此信息不写入数据库所以能否让其一直可以提交呢? 展开
2个回答
展开全部
用session禁用了刷新就ok了。但是具体忘了。给你一段代码做参考/**
* 防止刷新模块
* 实现原理 设置 max_reloadtime =100; //设置页面刷新最长间隔时间
* 用户第一次打开页面 记录当前的时间保存在 session_start
* 用户第二次打开页面(判断 session_start是否存在) 用当前时间和 session_start 相减 得到差值 time_passed
* 当 time_passed < max_reloadtime 表示用户在指定时间内频繁刷新了 警告后直接退出
* @param int $max_reloadtime 页面刷新最长间隔时间
* @return bool 返回 具体数值 表示刷新太快了 返回 false 表示没有超时
*/
if (!function_exists('controller_onload'))
{
function limitReload($max_reloadtime=2)
{
session_start();
if(empty($_SESSION["session_start"])) //用户第一次打开页面 记录当前的时间保存在 session_start
$_SESSION["session_start"] =time();
else
{
$time_passed =time()-$_SESSION["session_start"];
if($time_passed < $max_reloadtime)
{
return $time_passed;
// echo "大侠别急,先坐下休息休息 :P <a href=javascript:history.go(0)>按此刷新页面</a><br>";
// echo "页面刷新间隔时间 ".$max_reloadtime."<br>";
// echo "离上次刷新时间 ".$time_passed."<br>";
// die();
}
$_SESSION["session_start"] =time();
}
return false;
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gggxin/archive/2006/07/04/876626.aspx
* 防止刷新模块
* 实现原理 设置 max_reloadtime =100; //设置页面刷新最长间隔时间
* 用户第一次打开页面 记录当前的时间保存在 session_start
* 用户第二次打开页面(判断 session_start是否存在) 用当前时间和 session_start 相减 得到差值 time_passed
* 当 time_passed < max_reloadtime 表示用户在指定时间内频繁刷新了 警告后直接退出
* @param int $max_reloadtime 页面刷新最长间隔时间
* @return bool 返回 具体数值 表示刷新太快了 返回 false 表示没有超时
*/
if (!function_exists('controller_onload'))
{
function limitReload($max_reloadtime=2)
{
session_start();
if(empty($_SESSION["session_start"])) //用户第一次打开页面 记录当前的时间保存在 session_start
$_SESSION["session_start"] =time();
else
{
$time_passed =time()-$_SESSION["session_start"];
if($time_passed < $max_reloadtime)
{
return $time_passed;
// echo "大侠别急,先坐下休息休息 :P <a href=javascript:history.go(0)>按此刷新页面</a><br>";
// echo "页面刷新间隔时间 ".$max_reloadtime."<br>";
// echo "离上次刷新时间 ".$time_passed."<br>";
// die();
}
$_SESSION["session_start"] =time();
}
return false;
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gggxin/archive/2006/07/04/876626.aspx
展开全部
一、防止刷新的办法是用AJAX异步,或者IFRAME,这里说一下IFRAME的方法,你的页面如下结构:
<form action=assy.php target=post_form>
...
</form>
<iframe name=post_form width=100% height=300></iframe>
二、你应该有防止重复插入数据库的措施,比如论坛里面相同的帖子,注册用户里面相同的用户,即使客户老老实实输入两次,而不是实用F5刷新,程序一样不应该允许保存,方法是在你以前的insert数据库之前,先"select count(*) where 内容匹配"检查是否重复,有重复的就提示,不保存到数据库。
<form action=assy.php target=post_form>
...
</form>
<iframe name=post_form width=100% height=300></iframe>
二、你应该有防止重复插入数据库的措施,比如论坛里面相同的帖子,注册用户里面相同的用户,即使客户老老实实输入两次,而不是实用F5刷新,程序一样不应该允许保存,方法是在你以前的insert数据库之前,先"select count(*) where 内容匹配"检查是否重复,有重复的就提示,不保存到数据库。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询