我有一个表单验证代码,当按下刷新按钮时,数据将被插入到db中。我怎么阻止它? 我参考了这段代码http://www.w3schools.com/php/php_form_url_email.asp 然后我创建了数据库连接,代码如下所示。
单击刷新按钮时,数据将插入数据库中。如何在单击刷新按钮时停止插入值?
答案 0 :(得分:-1)
您可以使用
header('Location myfile.php');
if ($_SERVER["REQUEST_METHOD"] == "POST") { .... }
请求完成后,数据库, 该页面将转到myfile.php。
这不带有POST数据,如果用户点击刷新,则不会发送数据。 如果您想以某种方式留下“成功”消息,您可以使用:
header('Location myfile.php?sent=success');
然后你可以听$_GET['sent']
确认它是成功的。
编辑:
方法2会话:
首先设置sessionvariable
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']);