PHP Cookies和Session
2016-04-16 19:17
441 查看
cookie是服务器在用户计算机中存储信息的小文件,每次当相同的浏览器访问该服务器时,就会自动发送带有cookie的头信息,服务器端能够获得该cookie的信息并据此识别用户。
创建cookie使用函数:setcookie()
语法:setcookie(名称,值,过期时间,作用域,域名相关)
服务器端在发送cookie时,会自动对cookie的值进行URL编码,在取回该cookie时又会自动解码。
服务器端PHP文件可以通过$_COOKIE数组变量来取回cookie的值;
将cookie的过期时间点设置为过去的时间点即可将cookie删除,如setcookie(‘user’,”,0);
cookie是存储在客户端的文件,与次不同,session是存储在服务器端的文件,同样保存有关用户的会话信息。
引自W3School:当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。
通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
使用session必须启动(在html标签之前),使用函数:session_start();该函数判断客户浏览器是否发送了存储该用户sessid的cookie,没有则在服务器端自动生成一个session文件并将对应的sessid以cookie的形式发送到客户端浏览器;如果请求头信息包括sessid,则不会创建这样的文件,仅仅是打开该sessId对应的session文件
存储和获得session 变量要收用函数SESSION,如:_SESSION[‘user’]=’admin’;将user和其值存入session文件
删除session中的数据:unset($_SESSION[‘user’]);删除了session文件中的user变量
如要删除整个session,则:session_unset();
也可以通过session_destroy()来彻底删除session,此时session文件将被删除
创建cookie使用函数:setcookie()
语法:setcookie(名称,值,过期时间,作用域,域名相关)
<?php setcookie('user','admin',time()+24*3600,'/'); /*该cookie设置使得名称为user的cookie的值为admin,并存储时间为当前开始的24小时,之后此cookie会自动删除,/指作用域根目录,即在此服务器的页面都可以获得该cookie*/ ?>
服务器端在发送cookie时,会自动对cookie的值进行URL编码,在取回该cookie时又会自动解码。
服务器端PHP文件可以通过$_COOKIE数组变量来取回cookie的值;
<?php print_r($_COOKIE);//打印服务器端接收的所有cookie echo $_COOKIE['user'];//获得名为user的cookie的值 ?>
将cookie的过期时间点设置为过去的时间点即可将cookie删除,如setcookie(‘user’,”,0);
cookie是存储在客户端的文件,与次不同,session是存储在服务器端的文件,同样保存有关用户的会话信息。
引自W3School:当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。
通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
使用session必须启动(在html标签之前),使用函数:session_start();该函数判断客户浏览器是否发送了存储该用户sessid的cookie,没有则在服务器端自动生成一个session文件并将对应的sessid以cookie的形式发送到客户端浏览器;如果请求头信息包括sessid,则不会创建这样的文件,仅仅是打开该sessId对应的session文件
存储和获得session 变量要收用函数SESSION,如:_SESSION[‘user’]=’admin’;将user和其值存入session文件
删除session中的数据:unset($_SESSION[‘user’]);删除了session文件中的user变量
如要删除整个session,则:session_unset();
也可以通过session_destroy()来彻底删除session,此时session文件将被删除
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)