网站cookie技术
1、会话技术,就是“身份识别”技术。
身份识别的关键就是:识别不同都浏览器。
我们通常认为:所谓不同的用户,本质上,是指不同的浏览器。

2、然后,在进入下一个页面(登录成功之后的后台页面),需要对该数据信息进行判断:

3、这里,使用的就是一种全新的技术:会话技术。
会话技术有两种:
cookie技术:
session技术:
1、概念:
cookie,其实就是有服务器端,发送给浏览器端的一些纯文本的“信息片段”。
cookie信息存储在浏览器端。
就两件事:
赋值:
也称为“设置cookie数据(值)”;
形式:setcookie(‘cookie名’, ‘cookie值’);
说明:
1,cookie是“总称”,其实可以设定很多个cookie——cookie是“小甜饼”。
2,cookie只能存储“字符串数据”。
3,其实,该行代码的作用是:从服务器端(php代码),将该数据随同网页发往浏览器端。
当然,浏览器端,它并不是用于显示,而只是“存入到浏览器内部”。
4,该数据,会在“下一次”该浏览器再次浏览该网站时,随请求发往服务器。
取值:
其实,就是取得在浏览器端发到服务器端的cookie数据信息
形式:$_COOKIE[‘cookie名’];
说明:
1,其实就是取得系统超全局变量$_COOKIE数组的某个单元的值;
2,$_COOKIE其实是在系统内部在请求的开始阶段就已经将浏览器发过来cookie数据放入。
举例验证测试:



4、在4cookie-1.php没有执行的时候,输出“没有cookie:php44-c1”。

1、cookie的有效时间:
是指,一个cookie数据,可以在浏览器端(客户端)保留的时间长度
——其实是一个时间点,即保留到“哪年哪月哪日哪时哪分哪秒”
——注意,其跟“关闭浏览器”没有关系。
——默认情况下,cookie的生存时间是“窗口存活时间”——即关闭浏览器就过时。
——我们可以设置其时间,形式如下:
setcookie(‘cookie名’,‘cookie值’, 超时时间点);
超时时间点:就是某个时间值,比如:’2016-2--17 15:13:13’。
实际上,习惯做法通常是:time()+60*2; //当前时间的2分分钟之后那个时间。
演示:


3、补充:
要想“删除”(清除)一个cookie,可以这样做:
setcookie(‘cookie名’, ‘’); //即设置为空字符串,其实也就是没了
或:
setcookie(‘cookie名’, ‘’, time() -1); //时间设置到当前时间之前一秒。
1、是指,一个cookie,在哪个目录的php代码文件可以去“获取”(使用);
即同样的代码:$v1 = $_COOKIE[‘c1’];
或许在page1.php中能取得,而在page2.php中不能取得。因为他们在不同的目录中。
我们可以给一个cookie设置路径,方法为:
setcookie(‘cookie名’,‘cookie值’, 超时时间点,’有效路径’);
举例:
setcookie(‘c1’, 123, time()+3600*24, ‘/’); //这个表示当前整个网站的根目录,也就是其中的所有目录。
setcookie(‘c1’, 123, time()+3600*24, ‘/d1’);//只在根目录下的d1目录内有效
setcookie(‘c1’, 123, time()+3600*24, ‘/d1/d2’);//只在根目录下的d1目录下的d2目录内有效
默认:
如果不设置有效路径,则一个cookie只能在当前设置文件所在的目录中有效。
1、指一个cookie在什么域名下是有效的。
注意:其实只能设置为“自己的域名”。
默认情况下,就是指针对本域名有效。
有意义的设置,只有一种情况:
setcookie(‘名’, ‘值’, 时, 路径,“xxx.com”)
它代表在所有以xxx.com结尾的域名内都有效,比如:www.xxx.com, a.xxx.com, b.xxx.com, news.xxx.com, blog.xxx.com
比如:
a.xxx.com中设置了一个cookie没有指定域名,则只在a.xxx.com中有效;
b.xxx.com中设置了一个cookie,没有指定域名,则只在b.xxx.com中有效
c.xxx.com中设置了一个cookie,并指定域名为“xxx.com”,则在a.xxx.com, b.xxx.com, c.xxx.com都有效
1、完整形式:setcookie('名', '值', 过期时间, '路径', '域名');
常用形式1:setcookie('名', '值', 过期时间 );
常用形式2:setcookie('名', '值', 过期时间, '/' );