在php中cookie与session通常用于注册登录与记录用户信息了,但是cookie与Session两个有很大的区别,下面我们一起来看看。
会话简介:HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本、图形、视频和所有
其他数据所有的规则。HTTP 是一种无状态的协议,说明每次请求的处理都与之前或之后的
请求无关。虽然这种简化实现对于HTTP 的普及做出了卓越的贡献,但对于希望创建复杂的
Web 应用程序的开发人员来说,这点有点困扰。为了解决这个问题,出现了一种在客户端
机器上存储少量信息(cookie)。
由于cookie 大小限制、数量及其他原因,开发人员又提出了一种解决方案:session 会
话处理。
一.Cookie
的应用
设置cookie:setcookie()函数可以在客户端生成一个cookie 文件,这个文件可以保存到
期时间、名称、值等。
创建cookie
代码如下 | 复制代码 |
<?php setcookie(‘name’,'Lee’,time() (7*24*60*60));//设置一个过期时间为7天的cookie ?> 参数1:cookie 名称 参数2:cookie 值 参数3:cookie 过期时间 查看cookie 打开火狐浏览器:工具–页面信息-安全-查看cookie,可以查看到当前的cookie信息 读取cookie
代码如下 | 复制代码 | <?php echo $_COOKIE['name']; ?> 删除cookie
代码如下 | 复制代码 | <?php setcookie(‘name’,”); setcookie(‘name’,'Lee’,time()-1); ?> 使用Cookie 的限制 1、必须在HTML 文件的内容输出之前设置; 2、不同的浏览器对Cookie 的处理不一致,且有时会出现错误的结果。 3、限制是在客户端的。一个浏览器能创建的Cookie 数量最多为30 个,并且每个不能 超过4KB,每个WEB 站点能设置的Cookie 总数不能超过20 个。 二.Session会话处理 在使用session 会话处理,必须开始session,使用session_start()开始会话。 创建session 并读取session
代码如下 | 复制代码 | <?php session_start(); $_SESSION['name'] = ‘Lee’; echo $_SESSION['name']; ?> 判断session 是否存在
代码如下 | 复制代码 | <?php session_start(); $_SESSION['name'] = ‘Lee’; if (isset($_SESSION['name'])) { echo $_SESSION['name']; } ?> 删除session
代码如下 | 复制代码 | <?php session_start(); $_SESSION['name'] = ‘Lee’; unset($_SESSION['name']); echo $_SESSION['name']; ?> 销毁所有session
代码如下 | 复制代码 | <?php session_start(); $_SESSION['name'] = ‘Lee’; $_SESSION['name2'] = ‘Lee’; session_destroy(); echo $_SESSION['name']; echo $_SESSION['name2']; ?> cookie与session的区别和关系•存储位置: 1.session存储在服务器位置上,可以通过php.ini里面配置session相关配置 2.cookie存储在客户端上的上(其实可以分两种: 1,持久性cookie,设置了cookie的时间,以文件方式存在硬盘上, 2,会话cookie,没有设置cookie时间,cookie的生命周期也就是关闭浏览器前就消失,一般不会保存在硬盘,而是保存在内存上) cookie和session的关系 cookie通过http报头发送: Cookie name=PHP |
|
|
|
|
|
|