Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP最近查看的产品_Php_Session_Cookies - Fatal编程技术网

PHP最近查看的产品

PHP最近查看的产品,php,session,cookies,Php,Session,Cookies,为最近查看的产品编写代码的最佳方式是什么?我使用数据库来创建动态页面,并认为我可以将ID号存储在会话或cookie中,然后从数据库中提取图像和标题。虽然,我不知道这是否有效。我只希望它显示最后5个项目查看,而不是显示任何重复。有什么想法吗?如果用户已登录,您可以创建一个名为“userViews”的表,提供用户ID和查看的productID。 然后,您可以使用productID上的“select DISTINCT”选择查询。这将选择唯一的值。检查 如果用户未登录,我建议您也这样做,但不要使用use

为最近查看的产品编写代码的最佳方式是什么?我使用数据库来创建动态页面,并认为我可以将ID号存储在会话或cookie中,然后从数据库中提取图像和标题。虽然,我不知道这是否有效。我只希望它显示最后5个项目查看,而不是显示任何重复。有什么想法吗?

如果用户已登录,您可以创建一个名为“userViews”的表,提供用户ID和查看的productID。 然后,您可以使用productID上的“select DISTINCT”选择查询。这将选择唯一的值。检查


如果用户未登录,我建议您也这样做,但不要使用userID,而是尝试从用户中查找唯一的内容。您可以尝试使用随机唯一编号设置cookie或会话,并将其链接到数据库。

如果用户已登录,您可以创建一个名为“userViews”的表,提供用户ID和查看的productID。 然后,您可以使用productID上的“select DISTINCT”选择查询。这将选择唯一的值。检查


如果用户未登录,我建议您也这样做,但不要使用userID,而是尝试从用户中查找唯一的内容。您可以尝试使用随机唯一编号设置cookie或会话,并将其链接到数据库。

传统的方法是将其存储在cookie中。如果您可以加密cookie,请这样做

记住,用户可以修改cookie。规则1是永远不要相信用户输入。总而言之,在显示信息之前一定要验证信息,否则你将面临攻击

是否将ID存储在数组中?以“,”或“.”分隔-不要创建100个不同的Cookie来存储ID


您还可以使用SQL存储视图。。。但是为什么要使用不需要的sql查询呢?SQL是用于长期存储的。会话和cookie用于当前操作。

传统的方法是存储在cookie中。如果您可以加密cookie,请这样做

记住,用户可以修改cookie。规则1是永远不要相信用户输入。总而言之,在显示信息之前一定要验证信息,否则你将面临攻击

是否将ID存储在数组中?以“,”或“.”分隔-不要创建100个不同的Cookie来存储ID


您还可以使用SQL存储视图。。。但是为什么要使用不需要的sql查询呢?SQL是用于长期存储的。会话和cookie用于当前操作。

有3种方法可以显示最近查看的产品。也许是其他的方式,但这三种方式是最常用的

基于IP 最近在Cookie中查看的存储 会话ID 基于IP

这不是一个好主意,因为有可能两个人使用相同的路由器,而没有看到产品的人会看到另一个人最近的视图。您可以使用基于IP的方式向您所在地区的其他人展示您喜欢的内容。等等

基于Cookies

通过使用Cookie,您可以100%确保向访问您网站的人显示您的最新产品,但并非所有用户/访问者都启用了Cookie,而且如果您没有正确加密,Cookie也可以轻松编辑,并且存在安全风险

会话ID

您可以为访问者生成随机用户id,并将此信息存储在数据库中,如下所示:

start_session();
if(!$_SESSION['user_id']){
$_SESSION['user_id'] = rand(1, 1000000);
mysql_query('INSERT INTO products_recent (user_id) VALUES ('.$_SESSION['userid'].')');
}  
此外,您还可以选择/更新用户产品视图并向该用户显示

如果需要,您可以轻松地每24小时清理一次数据库,也可以将这些数据用于分析目的

最终注册用户

如果注册用户查看您的产品,我强烈建议将其保存在数据库中,并在他/她每次访问您的商店时显示这些最近查看的产品


谢谢,

有3种方法可以显示最近查看的产品。也许是其他的方式,但这三种方式是最常用的

基于IP 最近在Cookie中查看的存储 会话ID 基于IP

这不是一个好主意,因为有可能两个人使用相同的路由器,而没有看到产品的人会看到另一个人最近的视图。您可以使用基于IP的方式向您所在地区的其他人展示您喜欢的内容。等等

基于Cookies

通过使用Cookie,您可以100%确保向访问您网站的人显示您的最新产品,但并非所有用户/访问者都启用了Cookie,而且如果您没有正确加密,Cookie也可以轻松编辑,并且存在安全风险

会话ID

您可以为访问者生成随机用户id,并将此信息存储在数据库中,如下所示:

start_session();
if(!$_SESSION['user_id']){
$_SESSION['user_id'] = rand(1, 1000000);
mysql_query('INSERT INTO products_recent (user_id) VALUES ('.$_SESSION['userid'].')');
}  
此外,您还可以选择/更新用户产品视图并向该用户显示

如果需要,您可以轻松地每24小时清理一次数据库,也可以将这些数据用于分析目的

最终注册用户

如果注册用户查看您的产品,我强烈建议将其保存在数据库中,并在他/她每次访问您的商店时显示这些最近查看的产品

谢谢,

您想继续吗
播放全球或当前用户查看的最后5个项目?将按用户显示,但我们没有登录的用户,因此我猜该用户将是查看产品页面的访问者。是否显示全球或当前用户查看的最后5个项目?将按用户显示,但是,我们没有登录的用户,因此我猜该用户将是查看产品Hanks的页面的访问者!我会更仔细的,谢谢!我们将对此进行更多调查