2009-02-11 53 views
0

我正在创建一个站点,我正在使用会话来管理用户登录状态。当用户登录时,我创建一个会话ID为像这样的用户:如何检查在PHP中注册了哪个会话?

$_SESSION['username'] = "username"; 

如何检查用户是否登录,如果是这样,它是谁?

回答

4

如果你已经验证您正在编写$_SESSION['username']到的session superglobal用户后,所有你需要做的就是仔细检查会话用户名是否存在等:

session_start() 
if (empty($_SESSION['username'])) { 
     // user is not logged in 
} 

搞清楚是谁在为记录就像检查我们之前检查过的变量$_SESSION['username']中存储的用户名一样简单。如果您想从数据库结果或其他信息中保存真实姓名,只需将该信息转储到$_SESSION['data_type']阵列中即可。

会话变量应该在24分钟内自动过期(PHP默认,我认为)不活动,在这种情况下,您应该期望用户再次登录。如果您想立即登出用户,请查看session_destroy()

+0

配置值session.gc_maxlifetime管辖会话长度,奇怪的是,默认值是24分钟(1440秒)。 – 2009-02-11 08:18:17