我有一个将数据插入数据库的html表单。我刚建好了..这是非常基本的,因为我只是这样做才能学习。在这样做,我看到我可以点击后面的浏览器按钮并再次发布..再次..再次..它继续写入数据库。
我看过我尝试重新提交信息的网站,它告诉我必须等待60秒(或其他)。这是解决这个问题的首选方法吗?如果是这样,那么如何实施呢?
或许你会以不同的方式处理它?
答案 0 :(得分:1)
插入行时,请将提交时间存储在表格中,或存储在用户的会话中。
每当您处理表单时,请将该时间与当前时间进行比较。如果它在60秒内,则显示错误而不是插入行。
答案 1 :(得分:0)
有两种方法:
i)简单的客户端javascript: 将最后一个事件的时间存储在javascript变量中, 当用户再次执行该事件时,发送有关计时的警报消息。 (虽然知道javascript的用户可以欺骗这种方法)
ii)在表单发布完成后,将最后一个事件的时间存储在后端的数据库中。当再次完成相同的表单帖子时,检查时间,如果允许,则进行处理,否则回复时间消息。