我有一个表单验证代码和数据被插入数据库时刷新按钮被按下。我该如何阻止它?我参考了这个代码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']);