会话处理 - 如何区分用户

时间:2012-07-12 06:22:46

标签: php session

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

Charu

3 个答案:

答案 0 :(得分:1)

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

<?php
  session_start();
  ....
?>

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

你到目前为止尝试了什么?您可以使用数据库中的数据作为用户的唯一标识符:

session_start();
$_SESSION['user_data'] = array('username'=>$username, 'user_id'=>$user_id);