记住PHP会话中的URL一次

时间:2017-08-24 13:23:16

标签: javascript php jquery session

所以,我一直试图让它工作一段时间。我不能像我一样工作。

我想做的是: 我有一个搜索和过滤页面(用户从复选框中选择以对产品进行排序)。现在,当用户完成过滤时,URL具有一组特定值。

https://mydomein.nl/subsdir/?_sft_brand=nike&_sft_type=sneaker

如果用户点击产品,它将显示产品页面。在该页面上有一个按下Back to overview的按钮。目前它链接到/subdir/,但这会删除一组值(当然)。

我想在会话中存储此https://mydomein.nl/subsdir/?_sft_brand=nike&_sft_type=sneaker之类的链接,以便用户无需再次过滤。

我尝试使用以下代码将REQUEST_URI存储在会话中:

$page = $_SERVER["REQUEST_URI"];
$_SESSION['page'] = $page;
echo "http://".$_SERVER['SERVER_NAME'].$_SESSION['page'];

但每次点击新链接时都会更新网址。我尝试了很多这方面的变体,但都覆盖了第一个REQUETS_URI。我想只存储过滤器URL,而不是用户下次点击的URL。因此,我可以将back to overview链接设为<a href="<?php echo $page; ?>">。并将其连接回正确的过滤器等。

有什么好主意吗?感谢您抽出时间阅读和帮助!

1 个答案:

答案 0 :(得分:1)

简单解决方案您应该做的是当用户点击返回概览按钮时,您应该参考当您使用相应参数或过滤器点击搜索按钮时调用的函数,并且您可以检查搜索中的会话

要做的步骤

  • 首先使用post方法而不是搜索时获取。
  • 在您的搜索功能中首先检查您的$ _POST是否为空
  • 如果您的$ _POST不为空,请在会话中设置您的帖子值并使用帖子值进行搜索。
  • 如果您的帖子为空,请检查您的会话是否为空。如果您的会话不为空,则使用您的会话值进行搜索并返回结果。
  • 如果你的会话是空的,那么搜索它没有值(我的意思是检索所有产品并显示它)
  • 现在,当用户点击处理到概览时,然后重定向到搜索功能。