当刷新按钮按下时,数据插入到数据库中


Data getting inserted in db when refresh button is pressed,

我有一个表单验证代码和数据被插入数据库时刷新按钮被按下。我该如何阻止它?我参考了这个代码http://www.w3schools.com/php/php_form_url_email.asp然后我创建了db连接,代码如下所示。

单击刷新按钮时,数据被插入到数据库中。我如何阻止值插入时刷新按钮单击?

你可以使用

header('Location myfile.php');

在if块的末尾

if ($_SERVER["REQUEST_METHOD"] == "POST") { .... }

对数据库的请求完成后,该页面将转到myfile.php。

将不携带post数据,如果用户单击刷新,则不会发送数据。如果你想留下一个"成功"的消息,你可以使用:

header('Location myfile.php?sent=success');

然后你可以听$_GET['sent']来确认它是成功的。

编辑:

方法二:

首先设置session变量

  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    /* your code goes here */
    session_start();
    $_SESSION['success'] = true;
    header('Location myfile.php');
  }

获取变量并重置它

  session_start();
  $was_success = !empty($_SESSION['success']);
  unset($_SESSION['success']);