如果可能的话,我需要重新加载的帮助。我的意思是我有这个查询,它在一个页面中提交,有这个个人资料注册,用户输入他的姓名和姓氏,然后他在下一页继续输入更具体的细节。如果用户重新加载页面,即 4 次,这就是用户信息被插入数据库的次数。
是否有任何重新加载功能来防止提交查询?如果您要问我,我没有尝试过任何事情,因为我不知道如何开始。我唯一的线索是关于使用 ajax,但是有没有任何 php 方法可以做到这一点?
谢谢
如果可能的话,我需要重新加载的帮助。我的意思是我有这个查询,它在一个页面中提交,有这个个人资料注册,用户输入他的姓名和姓氏,然后他在下一页继续输入更具体的细节。如果用户重新加载页面,即 4 次,这就是用户信息被插入数据库的次数。
是否有任何重新加载功能来防止提交查询?如果您要问我,我没有尝试过任何事情,因为我不知道如何开始。我唯一的线索是关于使用 ajax,但是有没有任何 php 方法可以做到这一点?
谢谢
您应该遵循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];
}
您应该在会话中记录所有注册数据,并在用户单击“完成”按钮后写入一次。
然后重定向他并清除相关的会话数据。
通过这种方式,您可以拥有任意数量的阶段页面,并且不会重复任何内容。