11.Session
11.1session的声明和使用
格式:bool session_start(void) //创建session(必须),开始一个会话,进行session初始化
原因:Session的设置不同于Cookie,必须先启动,在PHP中必须调用该函数,以便让PHP核心程序将和Session相关的内建环境变量预先载入内存中。
作用:一个是开始会话,一个是返回已经存在的会话。
11.2注册一个会话变量和读取Session
$_SESSION是一个超级全局数组,但必须在调用session_start()函数开启Session之后才能使用。
注册变量的代码如下:该文件的结构:变量名|类型:长度:值;
11.3注销变量与销毁Session
A、销毁和当前Session有关的所有资料,可以调用session_destroy()函数;但是该函数并不会释放和当前Session相关的变量,也不会删除保存在客户端的、Cookie中的SessionID;
B、我们可以使用unset()函数来释放在Session中注册的单个变量。如:
unset(
S
E
S
S
I
O
N
[
“
u
s
e
r
n
a
m
e
”
]
)
;
/
/
删
除
S
e
s
s
i
o
n
中
注
册
的
用
户
名
变
量
u
n
s
e
t
(
_SESSION[“username”]); //删除Session中注册的用户名变量 unset(
SESSION[“username”]);//删除Session中注册的用户名变量unset(_SESSION[“password”]);//删除在session中注册的用户名密码变量
重点:不要使用unset(
S
E
S
S
I
O
N
)
删
除
整
个
_SESSION)删除整个
SESSION)删除整个_SESSION数组,这样将不能在通过
S
E
S
S
I
O
N
超
全
局
数
组
注
册
变
量
了
。
C
、
但
可
通
过
_SESSION超全局数组注册变量了。 C、但可通过
SESSION超全局数组注册变量了。C、但可通过_SESSION=array();将摸个用户在Session中注册的变量全部删除。
D、PHP默认的Session是基于Cookie的SessionID被服务器存储在客户端的Cookie中,所以在注销是也需要消除Cookie中保存的SESSIONid.