使用PHP会话

时间:2010-10-29 07:08:11

标签: php html 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。

我在这样的网址中使用常量SID

<?php echo '<a href="theotherpage.php?sessid='.SID.'">go to another page</a>'; ?>但是,根据PHP网站的建议,使用常量不起作用。

有人可以帮我在整个网站上保持相同的会话ID,无论时间吗?

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

1 个答案:

答案 0 :(得分:2)

我认为你可能会对会话产生误解。假设他们的cookie已启用,您将永远不需要使用会话ID。会话ID本身存储在cookie中。如果你想让会话保持更长时间,只需使用ini_set('session.gc_maxlifetime',20);并将20改为您希望它活着的分钟数。

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