设置COOKIE
1 2 |
setcookie('user','zhangsan'); echo '给你zhangsan牌子!'; |
读取COOKIE
1 2 |
print_r($_COOKIE); echo '你是',$_COOKIE['user']; |
参数设置cookie
setcookie()可以用2个参数,3个参数,4个参数,5个参数来设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/*--------------2 2个参数设置cookie cookie随着浏览器的关闭,就失效了. */ setcookie('age',29); /*--------------3 3个参数来设置cookie的生命周期,以时间戳为单位 关掉浏览器后,可以对比出效果,age 关掉浏览器就失效 而school能存活1小时 */ setcookie('school','MBA',time()+3600); /***--------------4 cookie的作用域 一个页面设置的cookie, 默认在其同级目录下,及子目录下可以读取. 如果想让cookie整站有效,可以在根目录下setcookie 也可以用第4个参数,来指定cookie生效路径 ***/ setcookie('gloabl','any where!',time()+3600,'/'); /*--------------5 cookie是不能够跨域名(否则安全问题就太大了!) 比如sohu.com的cookie,不能被发到sina.com用 但是,可以在一个域名的子域名下使用 需要用第5个参数,来表示 例: setcookie('key','value',time()+2000,'/','.sina.com.cn'); 这个cookie在book.sina.com.cn可以用 在mili.sina.com.cn也可以用 */ echo 'cookie set ok'; |
销毁cookie
1 2 |
// 销毁cookie,把有效期改为0即可 setcookie('school','',0); |
用cookie来完成浏览历史功能
用cookie来记录来本网站已经访问了多少页面,如果这个页面是第1次访问,是没有cookie信息的,所以第二次访问才会输出第一次访问,所以+1
1 2 3 4 5 6 7 8 9 10 |
if(!isset($_COOKIE['num'])) { // 第一次来访问,还没有cookie $num = 1; setcookie('num',$num); } else { // 有cookie信息,已经不是第1次来访问了. $num = $_COOKIE['num']; setcookie('num',$num + 1); } echo '这是你的第',$num,'次访问'; |
cookie来做浏览历史
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?php $uri = $_SERVER['REQUEST_URI']; header("Content-Type: text/html; charset=UTF-8"); /* 把uri放在cookie里 setcookie('history',array($uri)); 这是错误写法,因为cookie只能存储字符串,数字,不能存储数组,资源这样的多维数据 因此$uri要放在数组里,但数组要转化成字符串 */ if(!isset($_COOKIE['history'])) { // 第1次 $his[] = $uri; //print_r($his); } else { // 已经是第N次访问了 $his = explode('|',$_COOKIE['history']); array_unshift($his,$uri); $his = array_unique($his); //print_r($his); if(count($his) > 10) { array_pop($his); } } setcookie('history',implode('|',$his)); $id = isset($_GET['id'])?$_GET['id']:0; ?> <p> <a href="07.php?id=<?php echo $id-1; ?>">上一页</a> <br /> </p> <p> <a href="07.php?id=<?php echo $id+1; ?>">下一页</a> <br /> </p> <ul> <li>浏览历史</li> <?php foreach($his as $v) { ?> <li><?php echo $v; ?></li> <?php } ?> </ul> |

我的微信
把最实用的经验,分享给最需要的读者,希望每一位来访的朋友都能有所收获!
2017年1月22日 下午3:07 1F
对PHP cookie重新学习一下。
2017年2月1日 下午6:47 1B
@PHP程序员雷雪松 温故知新!