【问题标题】:how to prevent page to save values in database after page refresh? [duplicate]页面刷新后如何防止页面将值保存在数据库中? [复制]
【发布时间】:2014-04-23 06:08:49
【问题描述】:

我正在使用 html 表单、php、mysqli 来保存信息。我的表单运行良好,但是在单击提交按钮后,如果我刷新页面,那么我的 mysql 将再次保存值并再次保存。如何阻止这种情况?

我的代码部分

 public function registration($name,$email,$en_pass)
    {
    $sql="INSERT INTO register_user (register_name, register_mail, register_password) VALUES ('$name', '$email' ,'$en_pass')";
    if( mysqli_query($this->con, $sql))
    {
     echo "Registration successfull. Wait for approvel.";
    }   

【问题讨论】:

  • 向每个请求添加令牌(发布/获取值和会话)并在成功后取消设置会话值,如果该值不在会话/获取/发布中,则不要执行注册

标签: php mysql


【解决方案1】:

您可以在处理完表单后重定向到某个页面:

header('Location:nextpage.php');

这会将您重定向回表单页面,如果您刷新,浏览器将不会重新发送表单数据。

【讨论】:

  • 返回按钮并接受重新提交数据呢?
  • @Class 在这种情况下,他可以在表单第一次处理时设置一些标志,他必须检查标志是否设置
猜你喜欢
  • 2020-11-24
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 2012-04-01
  • 2010-10-17
  • 1970-01-01
相关资源
最近更新 更多