假设在PHP页面中有一个web表单,它通过POST方法将值发送到同一页面。然后从$_POST中获取值并将它们插入Mysql表。
但当我想反馈(成功或错误),我感到困惑。
我用引导吐司的消息。例如,当输入值不规范或插入查询失败时,toast消息显示:Error: New record fails!
当插入查询成功时,toast消息应该显示:Success!:添加新记录!
但是访问者也可以刷新页面,这意味着双重时间相同的代码和双重插入
为了防止重新提交页面,我使用了头代码。在成功插入查询之后,我重定向页面,例如:
header("location: page.php?NewRecord=Ok");
所以我检查PHP代码;URL中是否有GET值,如果有"NewRecord=Ok", toast消息提示:成功!:新增记录!
但是,当访问者刷新页面时,URL不会改变。还是"page.php?NewRecord= "
因此,通过刷新同一页面,访问者仍然可以看到相同的toast消息。
我想你明白我的意思。你有什么建议吗?在我的解决方案中使用session ($_SESSION)
它会保存你的通知到会话,刷新后它会删除self。
使用方式:
//At saving to database:
$_SESSION["notice"] = "saved";
//after refresh (meaning somewhere on page where is not button click needed):
if (isset(t$_SESSION["notice"])) {
unset($_SESSION["notice"];
showmessage(); // replace with your message function
}
因为unset函数它不会出现很多次,只有一次