使用PHP会话

使用PHP会话,php,html,session,Php,Html,Session,所以,我今天一直在用PHP玩会话,自从6个月前开始使用PHP以来,我一直在犹豫是否应该使用会话(这看起来很可怕),我发现它非常简单。但是我使用time()作为会话id,我将解释为什么 我在php.net网站上找到了一个关于会话引用的页面,其中一个代码示例使用它来管理会话: session_start(); if( !isset($_SESSION['last_access']) || (time() - $_SESSION['last_access']) > 60) $_SESSION

所以,我今天一直在用PHP玩会话,自从6个月前开始使用PHP以来,我一直在犹豫是否应该使用会话(这看起来很可怕),我发现它非常简单。但是我使用time()作为会话id,我将解释为什么

我在php.net网站上找到了一个关于会话引用的页面,其中一个代码示例使用它来管理会话:

session_start();

if( !isset($_SESSION['last_access']) || (time() - $_SESSION['last_access']) > 60)
 $_SESSION['last_access'] = time();
然而,这种情况很快就会消失。当然,我可以将60更改为一个非常高的数字,但这是针对一个网站,在这个网站上,客户平均会花费3-4个小时向购物车添加产品,因此我不能让会话过期,除非他们关闭页面

如何将相同的会话id传输到站点上的所有页面,而不考虑时间()。我真的不想用时间来管理会话id

我确实在如下url中使用了常量
SID

但是,按照PHP网站的建议,使用常量不起作用

有人能帮我在整个网站上维护相同的会话id吗


非常感谢您的帮助,谢谢!:)

我想你可能对会话有误解。假设他们的cookie已启用,您将永远不需要使用会话ID。会话ID本身存储在cookie中。如果您想让会话保持更长的活动时间,只需使用ini\u set('session.gc\u maxlifest',20);把20分钟改成你想要的活的时间


请记住,您必须使用start_session();在每个文件的最顶部,以确保特定文件使用会话。(这将是一个很好的理由,在php文件的顶部有一个主包含的配置文件,这样你就可以轻松地将其添加到1个文件中,并将其添加到所有页面)

当用户向购物车添加产品时,我使用会话id作为数据库中特定访问者的id,这就是我这样做的原因。我在这件事上也没有发言权,不幸的是我被命令这样做。我正在使用session_start(),我只是忘了将它粘贴到问题中。我从未实际使用过它,但您可以通过调用session_id()来获取当前会话的会话id。同样,假设他们启用了Cookie,保持会话随时打开的方式是通过ini_set函数。这允许你告诉它保持会话打开直到你想要它关闭。你误解了这段代码的作用。我只是每隔60秒更新会话中的最后一次访问时间。它不会使会话过期,会话id也完全不同。那么如何获取会话id呢?它对网站的每一位访问者都是独一无二的吗?session_id()会得到它。如果你对它感兴趣,你可以使用它来获得会话id,但它是自动为你处理的,你通常不需要处理。