会话ID 和 会话变量的区别

     PHP中,每次开始会话将会调用session_start()函数,将会检查是否存在会话ID,如果不存在则创建一个(在初次访问,或者长时间不访问后,再次访问);如果存在,则载入对应的会话变量。

     第二步,注册会话变量,根据会话ID,注册会话变量。比如用户使用ID:1(实际上是随机编码,没这么简单的)访问服务器,并且通过了登陆界面,服务器分配给此ID一个会话变量user1。

    第三步,访问其他网页,每个网页的开头都要检查用户ID及会话变量,保证是同一个用户。

    第四步,清除会话变量,再清除会话ID。

   问:为什么使用会话ID又使用会话变量?

    答:使用会话ID是保证,是同一台客户端在访问;但是这还不够,服务器还需要知道这个客户端的使用者,所以使用会话变量,关联此ID。

   有人又会问,那么在用户登录之后,我就用判断此ID来判断是不是同一个用户呀?正解,你那什么判断是同一个用户,是不是比如说用一个数组,key是用户名字,而value是ID? 哈哈,会话变量的效果是key是ID value是用户名。效果不是一样的嘛?

   就是这样的!

你可能感兴趣的:(PHP,session,服务器,user)