【发布时间】:2010-06-05 04:29:52
【问题描述】:
我有一个表单(由 25 个以上的字段组成),这些字段的值范围从很小的值到串联的字符串。这就像一个搜索工具。现在,当用户填写表单并提交信息时,他可以看到与表单中的条件匹配的所有相关数据。我一次向用户显示 15 条记录。我已经实现了分页以使用户也可以查看其他记录。
主要问题:
这部分,直到用户提交信息并取回第一组数据是好的。当用户尝试通过分页转到第二页(或他选择的任何页面)时,就会出现问题。用户能够导航到其他页面,但不会触发正确执行以从数据库中提取结果所需的查询。请注意,最初它是在表单中执行的 POST 操作,而分页执行的是 GET 操作。所以我丢失了用户输入的表单的值,我想保留这些值并使用这些值查询数据库。
我试图避免通过 GET 发送表单字段值,因为我担心数据可能会超过 URL 中允许的最大值(& 因为它不如 POST 操作安全)。如果我尝试使用 POST 操作(如更新查询),可以在结果页面上执行其他操作,这些操作可能会导致表单值丢失。会话不会真正起作用,因为用户可以选择在具有不同输入的不同选项卡中运行相同的表单来比较结果,这可能导致旧查询的数据被新查询的数据替换。我没有想到 cookie,因为用户可能选择阻止它。几乎所有的选择似乎都用尽了。
那么我可以做些什么来保留表单值,运行正确的查询并取回相关值,而不管同一用户在不同浏览器选项卡/窗口中处理相同表单的次数,而不使用会话(考虑到通过 GET 传递数据并可能在 POST 操作中丢失数据的限制)并且还能够在页面上执行其他活动?
提前谢谢你。
【问题讨论】:
标签: php mysql forms pagination