我有一个带有表单的php网页。在网页中填写表单后,我可以将其提交给服务器。但之后,如果我刷新页面,它会将相同的记录插入数据库。有没有解决这个问题的方法?
答案 0 :(得分:9)
使用POST/Redirect/GET模式。这将阻止用户重新提交相同的表单。
答案 1 :(得分:4)
有很多方法,例如:
答案 2 :(得分:1)
是的,做两个查询。第一个检查以确保数据不存在于DB中,第二个检查是否存在重复数据。有很多方法可以检查以确保重复数据不存在,但这是您想要完成的基本过程。
答案 3 :(得分:1)
嗯,那就是刷新意味着:“再做一次。”
您可以检查与提交的数据匹配的数据是否已存在于数据库中。如果是这样,您可以拒绝新提交。
答案 4 :(得分:0)
在插入数据库之前,检查相同的值是否已经重复,如果它们是重复的,请不要插入。检查多列有助于进一步发展。例如,您不会只检查“用户名”,而是检查“用户名”和“密码”。
显然上面的例子是假的,但你应该明白这一点。
答案 5 :(得分:0)
您可以制作process.php页面并将表单action
设置为它。
在process.php中
//code to insert item to database
header('Location: YOUR_FORM_PAGE_HERE);
然后它会将它们发送回原始页面,并且不会有任何发布数据
答案 6 :(得分:-1)
您可以将查询更改为INSERT IGNORE INTO table_name ...
这会阻止您插入两次。