0

我在我的 Web 应用程序中使用 php 会话。对于单个用户,我需要存储许多变量,例如用户名、表示用户是否登录的标志等。我想将一个数组分配给 $_SESSION,作为一个包含所有值的变量。有没有办法做到这一点?

查鲁

4

3 回答 3

1

基本上会话用于存储user-specific数据(状态)和身份。要为您的页面启用会话,请session_start()在将任何内容写入响应缓冲区之前调用该方法。

<?php
  session_start();
  ....
?>
于 2012-07-12T06:25:50.097 回答
1

正如其他人所说,会话是一种存储用户特定信息的方式。但如果你对它是如何实现的感到困惑,这就是故事:

当有人启动浏览器并向您的网站发送请求时,您的网络服务器会发现这是浏览您网站的新会话,因此它会分配一个唯一编号作为会话 ID,并将此会话 ID 发送回您(通常是由 cookie 完成。也就是说,Web 服务器包含一个“SET-COOKIE”http 响应头字段。请参阅有关cookie的更多信息)。
现在,您的浏览器在以后向您的 Web 服务器发送的每个请求中都会发送先前获得的“会话 ID”。
因此,您的 Web 服务器现在可以将您的流量与其他流量区分开来,并且您创建的每个 $_SESSION[] 变量都将分配给相应的会话 ID。
我希望这很清楚。
看到这个链接还可以获取有关会话和 cookie 的更多信息。

于 2012-07-12T07:35:07.060 回答
0

你试过什么了?您可以只使用数据库中的数据作为用户的唯一标识符:

session_start();
$_SESSION['user_data'] = array('username'=>$username, 'user_id'=>$user_id);
于 2012-07-12T06:28:05.923 回答