计应134软件实验班(刘瑞锋)学习笔记:
1.COOKIE
php作为一种开源脚本语言,是嵌入到HTML文档中执行。所以当用户打开浏览器浏览网页时,浏览器就会在用户机生成一个Cookie文件,用来记录用户所浏览信息的值,Cookie文件保存的是用户访问网址的特定信息(如上次访问位置,花费时间,账号和密码等)。
我们可以通过php脚本语言手动创建一个Cookie文件,创建Cookie文件要用到SetCookie()函数,创建Cookie文件要注意的是Cookie是HTTP头标的组成部分,而头标必须在页面其他内容发送之前发送,因此他必须最先输出。如果在函数之前输出HTML标记、echo语句或空行都会导致程序出错。如图所示:
php脚本语言:
运行结果:
如果是正确的语法格式,就会在浏览器中查看到生成的Cookie文件。如图所示:
既然我们可以通过php脚本语言手动写入Cookie文件,那就会有读取和删除Cookie文件。读取Cookie文件我们要用到$_COOKIE[name]这个方法读取Cookie文件的内容,在读取Cookie文件时我们可以用isset()函数检测一下Cookie文件是否存在。如图所示:
php脚本语言:
运行结果:
如果要删除Cookie文件,我们只需要把setcookie()函数中的第二个参数设置为空值,将第三个参数的失效时间设置为小于系统当前时间即可。setcookie("name","",time()-1);我们也可以通过浏览器手动删除保存在本地文件中的Cookie文件。
2.SESSION
session会话文件保存的数据在php脚本中是以变量的形式创建的,创建的会话变量在生命周期(20分钟)中可以被跨页面的请求所引用。另外,Session会话是存储在服务器端的。
(1)创建Session会话的方式有两种,session_start()函数和session_register()函数,Session和Cookie一样在函数之前不能有任何输出。
(2)删除Session会话,如果删除单个会话使用的是unset()函数;删除多个会话可以将一个空的数组赋值给$_SESSION实现;结束当前会话要先注销所有的会话变量,然后使用session_destroy()函数。
(3)session设置时间,使用session_set_cookie_params()函数设置Session的失效时间,需注意的是设置Session失效时间要在session_start()函数之前调用。如图所示:
如果使用session_regiseter()函数创建一个隐含的会话,要修改php.ini(目录:C:\Windows\php.ini)文件选项,将register_globals指令设置为on,然后重启Apache服务器即可。