php的Cookie和Session
2015-10-26 15:37
495 查看
计应134软件实验班(刘瑞锋)学习笔记:
我们可以通过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文件。
(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服务器即可。
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服务器即可。
相关文章推荐
- 一个关于if else容易迷惑的问题
- 介绍一款信息管理系统的开源框架---jeecg
- 源码被倒卖,大厂薅羊毛,开源真的只能被予取予求?
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- 专家解读:开源软件项目是否会被限制出口?
- 专家解读:开源软件项目是否会被限制出口?
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- fuse-dfs的设定手册
- Centos下***(pptpd)的部署
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP