我理解$_SESSION
这个东西并且我使用它,但是session_id到底是什么,它给了什么?我不明白,你能帮帮忙吗?谢谢。
答案 0 :(得分:7)
嗯,你需要一个关于网络技术的小课程。
我们使用的协议,名为HTTP,无状态。意味着它永远不会跟踪请求。即使你点击网站上的几个链接,每个请求都是全新的,好像没有以前的请求。无法区分来自同一客户端的请求。
因此,如果我们想要区分客户,我们必须以某种方式“标记”它们。分配一些唯一标识符,并使它们随每个请求一起发送。所以你的会话ID是那个标记。当您第一次启动会话时,会发送cookie以及服务器的响应。好的客户端总是在每次连续请求时发回所有cookie。所以,我们可以认出那个客户。
将服务器端的文件(以此会话ID命名)存入会话数据 - 现在您已经有了会话机制!
答案 1 :(得分:6)
session_id()
按照session_name()
返回的名称返回会话cookie的值。 session_id()
通常是客户端唯一的非常长的哈希值。
PHP可以通过这种方式在内部实现客户端cookie的设置:
setcookie( session_name(), session_id() );
答案 2 :(得分:0)
我建议您阅读Session reference on php.net。您可以使用session_id()
获取会话ID。它的值是由PHP生成的。