2010-05-11 108 views
0

我不确定是否有初学者对SO的解释,但如果是这样,您能否提供链接。“最近的历史”如何在php的网站上运行? (PHP)

我有兴趣创建一个“最近查看过”的功能,显示他们之前点击过哪些链接。 我不知道这是“正确”的方式做到这一点,但是这是我迄今为止...

  1. 用户点击一个链接(比如ad.php?posting_id = 12) 。
  2. 当用户点击链接
  3. ,它设置一个cookie为$ _COOKIE [“ad.php?posting_id = 22”]
  4. 每个用户点击,多个cookie被设置
  5. 在最近的观察功能的时间它获取所有$ _cookie变量并显示它们。
  6. 如果用户想要清除历史记录,只是消灭所有的饼干

我不知道这是做它的方式,但它是可行的? 如果没有,什么是创建一个“最近浏览”功能

+0

这种方法没有任何问题。无论如何,第3步没有意义要创建数百个Cookie。只需操纵一个cookie来存储所有信息。 – Ben 2010-05-11 04:58:46

回答

2

你可能会想只是存储在cookie中的物品的ID。没有意义存储路径。我想你会想要更多的信息,而不仅仅是需要db调用的路径(比如title)。

+0

是的,我只是存储“posting_id = 12”,只是为了清晰起见,整个网址。 – ggfan 2010-05-11 04:42:19

-1

只是存储在数据库中或东西的请求历史的步骤,然后基本上做到:

SELECT requestURI from requestlog WHERE userid=<theuser> ORDER BY date DESC LIMIT 0,10

这就是我将如何实现类似的东西。

+0

会做! 4回答在5分钟内...爱这样:) :) – ggfan 2010-05-11 04:46:00

+0

我不知道这是一个好主意。你最终需要一个删除这个瞬态数据的策略,并且你服务的用户/页面越多,这张表就会越大。饼干想法好得多。 – Fenton 2010-05-11 06:37:06

0

这样可以正常工作,但用户可以自行清除自己的Cookie。如果你不希望发生这种情况,你应该将这些网站存储在数据库中

+0

好的,谢谢!听起来好多了。我猜如果用户是客人,我会把它存储在cookies中。 – ggfan 2010-05-11 04:44:32

0

除了第2步以外根本没有问题,这一切都很好。只是删除(和更改“3 如果用户”到“3 用户”)