今天在开发网站的时候需要用到php cookie,结果一直无法设置也无法取值或者只有当前页面才能取到cookie的值,真是让人百思不得其解,后来查找了一些资料,才知道伪静态下,php setcookie 在rewrite的情况下只对当前目录有效,于是我们得在setcookie的第四个参数中加入“/”就可以解决问题了。
<?php
//$value是cookie变量
setcookie("mayixueyuan",$value,time()+3600*24*30,'/');
?>
顺便做了个检测效果的简单代码,代码如下:
setcookie.php
<?php
/*
蚂蚁学院 伪静态下的 Cookie赋值与取值
作者:陈树熊
网址:http://www.mayixueyuan.com
*/
setcookie("mayixueyuan","蚂蚁学院",time()+3600,'/');
?>
getcookie.php
<?php
/*
蚂蚁学院 伪静态下的 Cookie赋值与取值
作者:陈树熊
网址:http://www.mayixueyuan.com
*/
echo $_COOKIE['mayixueyuan'];
?>
.htaccess 伪静态文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^setcookie.html$ mayixueyuan/setcookie.php
RewriteRule ^getcookie.html$ mayixueyuan/getcookie.php
</IfModule>
请配置好运行环境之后,访问
http://域名/setcookie.html 进行cookie赋值
http://域名/getcookie.html 进行cookie取值
PS:可以先访问 http://域名/getcookie.html,证明cookie是没有值,
再访问 http://域名/setcookie.html 进行赋值,
然后刷新 http://域名/getcookie.html,可以看到取值成功。
10蚂蚁积分下载
成功没有捷径,理想的实现需要持续不断的努力。把今天的一小步走得稳稳当当,才能逐步汇聚成明天通往成功的一大步。相信时间的力量,你终将开创属于自己的未来。
0
本文标签: