【发布时间】:2010-10-29 15:13:56
【问题描述】:
所以,我今天一直在玩 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 传输到我们网站上的所有页面,而不考虑 time()。我真的不想用时间来管理会话 ID。
我确实在这样的网址中使用了常量SID:
<?php echo '<a href="theotherpage.php?sessid='.SID.'">go to another page</a>'; ?> 但是,按照 PHP 网站的建议,使用该常量不起作用。
有人可以帮我在整个网站上保持相同的会话 ID,无论时间如何?
非常感谢您的帮助,谢谢! :)
【问题讨论】:
-
您误解了这段代码的作用。我只是在会话中以 60 秒的间隔更新最后一次访问时间。它不会使会话过期,而且会话 id 也完全不同。
-
那我如何获取会话 ID?对于网站的每个访问者来说,它都是独一无二的吗?
-
session_id() 会得到它
-
如果您对它感兴趣,可以使用
session_id获取会话ID,但它会自动为您处理,您通常不需要处理。