COOKIE
SetCookie函数
添加cookie
i.($name,$value,$expire,$path,$domain);
ii.$name:cookie的名称
iii.$value:该cookie的值
iv.$path:中有一个关于路径的设置,比如说设置为当前路径,那么意思就是在服务器只有当前路径的.php文件才能读到cookie
v.$domain:有效域名,该cookie只在该域名下有效(可以访问)
vi.$expire:该cookie的过期时间过期后,该cookie会被自动删除
删除Cookie
让cookie文件过期即可
在php中setcookie之前是不能有输出的(echo )
修改cookie
重新设置cookie
路径要是不给,那么设置的就是当前路径,时间要是没有给,默认浏览器关闭时自动销毁
查询cookie
使用$_COOKIE[Cookie名称]
Session
1.什么是session?
a)一种会话技术
b)保存在服务器的一个文件,文件当中保存着之前访问的信息
c)Session的查询是基于sessionid号的
2.Session的原理
a)用户第一次来访问服务器的时候,把登陆信息存储到服务器上的一个Session文件当中,并且产生一个sessionid号,并且会向客户端浏览器发送一个产生cookie文件的请求,将该sessionid号存储到该cookie当中,用户第二次过来访问服务器的时候,携带拥有sessionid号的cookie一起来访问服务器,服务器根据cookie当中的sessionid号找到对应的session文件,从而获取到对应信息.
c)Session的查询是基于sessionid号的
3.Session的操作:
a)添加sesion
Session的声明与使用
Session的设置不同于Cookie,必须先启动,在PHP中必须使用session_start()
session_start()函数的语法格式如下
Bool session_start(void)
注意:session_start()函数之前不能有任何输出
Session以数组的形式使用
如:$_SESSION['session名']
正如这般
自己没有在服务器上找到session文件,还以为是出了啥问题
session_save_path()能够存储session文件的位置
这个函数必须要在session_start()之前
b)删除session
晴空数据 $_SESSION=NULL;
$_SESSION=array();
unset
删除cookie文件
销毁session文件
session_destroy
c)修改session
d) 查询session
默认情况下禁用cookie,session是不能使用的(阻止网站使用第三方文件.cookie),客户端没有含有sessionid号的cookie了,服务器端会不断地创造新的cookie
session是基于cookie的,sessionID是保存在cookie中的。
解决方法:
i.我们可以在页面和页面之间用get传参?phpsessid=
在这里我们不需要$_GET,$_REQUEST可以直接获得,自动获得这个参数!传递的参数不需要手动接收,
也就是
退出的时候类似。
然而session_name()=session_id()
太长,可以用SID来代替(没有禁用是空值)
session.use_only_cookies=1--->0
Cookie与Session的区别
Cookie是保存在浏览器中的
Session是保存在服务器中
Cookie设置值的时候不能直接对数组$_COOKIE进行设置,而是通过函数setcookie对cookie进行设置,而session直接使用数组设置即可,但是前提是必须要开启session_start()
cookie删除的时候需要使用setcookie对cookie的值设置为过期,而session直接将$_SESSION请空即可
session_start细节