2

如果可能的话,我需要重新加载的帮助。我的意思是我有这个查询,它在一个页面中提交,有这个个人资料注册,用户输入他的姓名和姓氏,然后他在下一页继续输入更具体的细节。如果用户重新加载页面,即 4 次,这就是用户信息被插入数据库的次数。

是否有任何重新加载功能来防止提交查询?如果您要问我,我没有尝试过任何事情,因为我不知道如何开始。我唯一的线索是关于使用 ajax,但是有没有任何 php 方法可以做到这一点?

谢谢

4

2 回答 2

5

您应该遵循POST-Redirect-GET 模式并在成功 POST 后始终重定向:

在没有看到您的代码的情况下,您将需要这样的重定向:

if($inserted){
    header('Location: mypage.php?msg=reg_success');
    exit;
}

然后,在 mypage.php 上,你可以这样:

if(isset($_GET['msg'])){

    switch($_GET['msg']){

        case 'reg_success':
            echo 'Registration successful!';
        break;

    }

}

或者,您可以为成功消息创建一个数组:

$success_messages = array(
    'reg_success' => 'Registration successful!',
    'logout_success' => 'Logged out!'
);

然后在 mypage.php 上:

if(isset($_GET['msg']) && array_key_exists($_GET['msg'], $success_messages)){
    $msg_index = $_GET['msg'];
    echo $success_messages[$msg_index];
}
于 2012-09-17T14:23:07.970 回答
0

您应该在会话中记录所有注册数据,并在用户单击“完成”按钮后写入一次。

然后重定向他并清除相关的会话数据。

通过这种方式,您可以拥有任意数量的阶段页面,并且不会重复任何内容。

于 2012-09-17T14:23:04.710 回答