您的位置:首页 > 编程语言 > PHP开发

PHP·保存会话数据的两种技术之一·Cookie

2017-08-02 23:34 323 查看
PHP

保存会话数据的两种技术之一·Cookie

1.什么是会话?

·百度聊

在计算机术语中,会话是指一个终端用户与交互系统进行通讯的过程,比如从输入账户密码进入操作系统到退出操作系统就是一个会话过程。会话较多用于网络上,TCP的三次握手就创建了一个会话,TCP关闭连接就是关闭会话。

·简单讲

会话就是从你打开浏览器,访问某个网站的一些页面,通过点击一些链接,直到关闭浏览器,即为一次会话。

2.Cookie

·百度聊

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。

·简单讲

Cookie就是存储在用户本地终端上的数据

2.1cookie的创建

例子:把用户名保存到客户端的cookie

代码:
<?php

setCookie("name","value",time()+3600);

echo "success";

?>


说明点

①setCookie这个函数用于保存cookie;

②参数 name 表示cookie的一个key ,参数value 表示可以对应应该保存的值,可以把这两个看成key==value对;

③参数time()+3600则是cookie值(即例子中的name-value对)在客户端保存的时间,按秒来计算,语法为time()+秒数;

【目前常见的保存时间为2周,即time()+3600*24*7*2;】

④cookie保存的信息是字符串;

⑤cookie可以保存多对key==value对,可以指定不同的保存时间;

⑥如果没有设置保存时间,cookie不会保存到客户端,当会话结束,cookie就会失效;

⑦⑧

2.2cookie的获取

讲如何从客户端获取保存的cookie信息?

例子:以2.1为例子

① 获取指定的key对应的值

$name=$_COOKIE['name'];
echo $name;


②获取cookie信息

print_r($_COOKIE);


说明: ①如果cookie有效时间到,则不能取出;

②客户端cookie信息通过http、协议传到服务器;

2.3cookie的更新

讲如何将原来保存的cookie信息进行更新

做法:使用setcookie函数对要保存的信息进行重写,更改value值,或key值,或保存时间;

2.4cookie的删除

讲如何删除Cookie信息

① 指定某个cookie的key进行删除,继续使用setcookie函数;

setCookie("key","",time()-100);
//第一个参数保持不变,第二个参数置空,第三个参数:将保存时间减去任意时间


②全删:用遍历的方式

foreach($_COOKIE   as  $key=>$value)
{
setCookie($key,"",time()-100);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: