cookie练习的代码:
(1)先设置:setcookie('key值‘,’value值’);
(2)然后我执行那个文件,
(3)获取我的cookie值,用$_cookie['key值’]
cookie会话,怎么理解:
就是服务器和浏览器的一个对话过程,可以类比成人与人之间的对话,要是服务器或者浏览器任何一端关闭了,(对于浏览器就是关闭),就相当于,结束了这次的会话,那么那个cookie也就不生效了。(但是我们可以设置有效期)
(1)代码展示:
beifen.php
1 <?php 2 /** 3 * @第一个值是name 4 * @第二个值是value 5 * name如果在原本的文件中存在,那么value就会覆盖原来的那么对应的值 6 * 如果value是一个空的字符串,那么就相当于删除name对应的值 7 */ 8 setcookie('class_name','ligong');
看在浏览器中结果的展示:
获取cookie的值:
在另一个文件b.php,但是注意这两个文件在同一个浏览中运行,beifen.php先运行,b.php后运行
b.php代码展示:
1 <?php 2 echo $_COOKIE['class_name'];
然后结果展示:
要是删除这个$class_name的值,就直接在beifen.php 代码后面加一句
setcookie('class_name','');
后面的value对应是空的字符串就行了。
(2)加了时间戳,来设置cookie的过期时间
1 <?php 2 /** 3 * @第一个值是name 4 * @第二个值是value 5 * name如果在原本的文件中存在,那么value就会覆盖原来的那么对应的值 6 * 如果value是一个空的字符串,那么就相当于删除name对应的值,~~~~~~时间是 10秒 7 */ 8 setcookie('class_name','ligong',time()+10);
然后我在b.php代码中显示
1 <?php 2 echo $_COOKIE['class_name'];
看开始结果展示:
后面的结果展示:
浏览器在向服务器发送请求时,会检测cookie的是否有效,只有没有过有效期的cookie数据请求时,才会携带。
语法:
特殊的有效期值:
0, 默认的,表示会话周期
Time()-1,删除cookie的标准做法。setCookie(‘KEY’,‘’, time()-1)
PHP_INT_MAX: 逻辑上表示永久有效的cookie。
(3)设置cookie有效路径,通常是‘/’
1 <?php 2 /** 3 * @第一个值是name 4 * @第二个值是value 5 * name如果在原本的文件中存在,那么value就会覆盖原来的那么对应的值 6 * 如果value是一个空的字符串,那么就相当于删除name对应的值 7 */ 8 setcookie('class_name','ligong',0,'/');
这三个总结起来:
beifen.php
1 <?php 2 /** 3 * @第一个值是name 4 * @第二个值是value 5 * name如果在原本的文件中存在,那么value就会覆盖原来的那么对应的值 6 * 如果value是一个空的字符串,那么就相当于删除name对应的值 7 */ 8 setcookie('class_name','ligong',0,'/');
默认都这么设置:
1 <?php 2 /** 3 * @第一个值是name 4 * @第二个值是value 5 * name如果在原本的文件中存在,那么value就会覆盖原来的那么对应的值 6 * 如果value是一个空的字符串,那么就相当于删除name对应的值 7 */ 8 setcookie('class_name','ligong',0,'/' ,'','false','true');
其实后面还有别的设置,可以参看 20-20150204(第20day的文档)