表单提交后反馈访问者的好方法



假设在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函数它不会出现很多次,只有一次

最新更新