我已经为每个页面构建了一个复杂的多页网络调查,其中包含多个“条件”(问题变体)。在每个页面提交后,一个单独的文件处理数据并将其插入数据库,之后用户被随机引导到下一个问题的一个条件redir.php
。这种结构的一个问题是,如果用户导航回已提交的页面并重新提交,则会将新行插入数据库,并再次调用随机重定向,从而将用户引导至(可能)不同的情况。例如,问题 3 有六个条件 (AF),因此,例如,如果某人完成了问题 2 并被定向到 3B,然后返回问题 2 并重新提交页面,他们将登陆 3A-3F 中的任何一个(大多数可能与推荐人不同)。
我希望能够检查用户是否已经提交了他们的响应,如果是,向他们显示一条错误消息(沿着“页面已提交。重定向...”的行),然后重定向到最后一个他们查看的页面。我已经广泛寻找解决方案,但还没有找到可以处理多页条件和随机化的解决方案。最好的方法是什么 - 在每个页面上包含一个数据库查询以检查记录是否已经存在?使用会话变量?