我有我自己的MVC应用程序,我有3个主要区域:模型,视图,控制器。如何使用PHP检查多个表单提交?
在视图中,我创建了一个表单,将一些数据插入到数据库中。该操作设置为同一页面,类型为:POST。
在模型中,如果表单已提交或不提交,我会进行一些基本检查。之后有一秒睡眠。
在控制器中,我以非常简单的方式连接视图和模型,以便它们可以相互通信。
但是,只要访问者在提交按钮上多次点击,就会出现问题。因为等待1秒(这是故意的 - 所以它像系统正在处理数据一样),他们可以多次点击按钮。
存在一个问题,因为这样,数据将根据点击量插入到数据库中。如果我输出一个简单的单词,如“Foo”,它将只显示一次(我猜这是因为每次都重新加载页面),但数据会多次插入到数据库中。
有没有解决此问题的方法?我的意图是创建一个会话,并检查这是否是第一次提交,否则什么都不做。但是这不起作用,因为会话总是在页面加载时获得基本的值。
任何人都可以帮助我解决这个问题吗?
如果您在插入之前检查记录是否插入,该怎么办?或者更好 - 创建一个独特的约束来防止重复? – zerkms 2014-09-27 22:47:25
我试图运行一个检查fr唯一性的查询,但它似乎毫无价值。好像页面在检查之前插入了所有内容,即使它存在。不过,如果没有这样的记录,我只能将其放入插入条件中。我想,不知何故,它检查一次,如果它存在,然后插入多次 - 不知何故插入堆积起来。 – 2014-09-27 22:51:01
最简单的方法是使用一些简单的javascript在前端处理它。 – Eugene 2014-09-27 22:54:35