0

这里有一个搜索功能运行http://www.ssaib.co.uk/security-provider-search/工作得很好,你会得到一个结果集。但是,当您获得结果时,如果您选择结果并单击“更多”,然后尝试“返回”分页符而不是重新提交帖子。似乎在任何地方都找不到提及这一点。

非常感谢任何帮助

4

2 回答 2

1

你用什么浏览器?

我刚刚对其进行了测试,它可以在最新的 Chrome、Firefox、Opera、Safari 和 Internet Explorer 上运行。返回后,您将再次访问搜索结果。

编辑:

你有两个选择。

第一的:

  • 使用 GET 变量而不是 POST 提交搜索。这要好得多,因为搜索引擎也可以抓取搜索结果。

第二:

如果您仍然想使用 POST,那么智能搜索系统会像这样摆脱 POST 重定向:

  • 目标 URL 为“search.php”的表单(或您正在使用的任何一个)
  • 提交到 search.php 后,您将进行数据库搜索并为该搜索分配一个唯一的“id”
  • search.php 然后将用户重定向到在 URL(如 '/searchresults/23442/')或 GET 变量('/searchresults/?id=23442' )。在该页面中,向用户显示通过 search.php 脚本找到的搜索结果。
  • 这意味着如果用户点击“返回”,他们将返回到他们的搜索结果页面。这还有一个好处是您不必在每次用户单击“返回”时再次搜索数据库。浏览器永远不会返回通过标头重定向的 URL,因此即使用户返回两次,它也不会破坏任何内容。
  • 一段时间后,您应该使数据库中的“旧”搜索无效,或者如果用户再次要求相同的 ID,则重新生成它们。
于 2012-05-02T10:27:38.233 回答
0

您应该GET用于检索。但是,如果您确实使用POST,则应该始终(在我看来)使用Post/Redirect/Get。这通常需要您使用SESSION来保持重定向之间的状态。

于 2012-05-02T11:37:06.857 回答