1

我正在开发一个 PHP 应用程序,用户可以在其中根据 4 个不同的类别过滤搜索结果。切换类别会影响GET变量page_type

在我的情况下,每个类别的字段在导航页面时需要保持不变(它们存储在会话变量中),但是如果page_type发生更改,则需要取消设置会话变量,以便用户不需要花时间删除最后一个类别的所有旧数据。

有人可以帮我找出一种方法来比较旧的GET变量和新的变量吗?如果这是不可能的,那么有没有一种有效的方法来实现我想要做的事情?

4

2 回答 2

1

也保留page_type在会话中,并在每一页上检查它。如果不同,请取消设置会话并执行您需要的任何操作。

于 2012-08-28T18:00:13.893 回答
0

您必须通过页面导航链接中搜索所需的所有信息(该类别的所有“字段”)。如果您将数据存储在您正在执行的会话中,则“返回”按钮将无法正常工作。(回击将返回页面,但存储在会话变量中的字段会发生变化)。

或者-您可以使用键控数组将字段存储在会话中,这样会话变量将根据 field_type 单独存储

$_SESSION['search_fields'][$_GET['page_type']] = $fields_array

同样,您不应该为此使用 $_SESSIONS,因为您正在消耗服务器资源,为通过 google(或其他外部链接)点击页面的用户创建会话,并且永远不会去其他任何地方。此外,一个好的搜索引擎应该在第一页上给用户他们想要的东西:-)

于 2012-08-28T18:06:18.433 回答