php - 防止刷新按钮存储旧数据

标签 php mysql

我正在尝试创建一个注册页面,但在存储数据时遇到问题。
当我注册成功后,它会存储到数据库中。
但是当我再次重新加载它时,它会自动存储我输入到数据库的相同旧数据。
如何解决这个问题?

我的简单 php 代码如下所示

if (empty($fname)) {
    echo '';
} else {
    $success = ("
        INSERT INTO customer
            (FName, LName, Email, Password, MobileNum, PostalCode)
        VALUES
            ('$fname','$lname', '$email', '$password', '$mobilenumber','$postalcode')
    ");
    mysql_query($success);
    echo 'success';
}
?>

最佳答案

假设您在“存储”数据时使用 HTTP POST 请求,确保重新加载页面不会重新 POST 相同数据的最简单方法是在脚本的结尾。

不要执行 echo 'success' 而是执行 Header("Location: ?")

这样,浏览器在 POST 之后立即执行 GET。如果用户刷新结果页面,他们只需重新请求 GET。 (或者如果正在使用缓存,则什么都不做)。

关于php - 防止刷新按钮存储旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565766/

相关文章:

php - 如何使用 PHP 在邮件正文上发送 base64 图像?

php - 如何使用 PHP 在另一个函数中调用此 PDO 函数?

mysql - Rails 未索引位置

php - Zend Validate - 如何从不同的子表单传递上下文值?

javascript - 在 php 变量中分配一个选择的值

MySQL存储过程/自动删除表

php - 无法使用 docker compose 将 phpmyadmin 连接到数据库

MySQL 长查询的行计数

javascript - 正确实现弹出式联系表格

php - 如何更新 3 个表列,而页面只有一列可见