http://phpmyadmin.leon_vm.com/1.php写的Cookie,
在http://phpmyadmin.leon_vm.com/2.php还是读取不到。
但是http://localhost/1.php写的Cookie,
http://localhost/2.php却能读取到,这是怎么回事?
1.php
----------
<?php
setcookie("cookieName","leon",time()+3600);
?>
---------
2.php
-----------
<?php
print_r $_Cookie;
?>
在http://phpmyadmin.leon_vm.com/2.php还是读取不到。
但是http://localhost/1.php写的Cookie,
http://localhost/2.php却能读取到,这是怎么回事?
1.php
----------
<?php
setcookie("cookieName","leon",time()+3600);
?>
---------
2.php
-----------
<?php
print_r $_Cookie;
?>
--------------------------------------
不会吧,难道要大写!!! print_r $_COOKIE; 你的浏览器安全级别禁止cookie? 看看ie设置
------------------------------------
用同一个浏览器,访问同一个程序,只是主机名不同而已,然后得到不通的结果。
<?php
print_r($_COOKIE) ;
?>
不是大小写的问题。
同一浏览器,同一个程序,只是用的访问方式不一样,不同主机名访问。
http://phpmyadmin.leon_vm.com/2.php得到的结果如下:
-------------
Array
(
)
-------------
http://localhost/2.php得到的结果为:
----------
Array
(
[PHPSESSID] => 8c31d9731c66c4d92a5887df7a652bf1
[cookieName] => leon
)
---------
楼主不介意的话,还是看看安全设置。。$_COOKIE //还是改大写的好你可以看看PHP手册
大家执行下面的指令:
notepad c:\WINDOWS\system32\drivers\etc\hosts你看到的是
127.0.0.1 localhost
192.168.1.135 phpmyadmin.leon_vm.com这是我的虚拟机,局域网的IP为192.168.1.135
你的服务器和本地上的文件是否权限一致的?
-----------------------------------是同一个机器
大家执行下面的指令:
notepad c:\WINDOWS\system32\drivers\etc\hosts 你看到的是
127.0.0.1 localhost
192.168.1.135 phpmyadmin.leon_vm.com 这是我的虚拟机,局域网的IP为192.168.1.135
你在host里加的域名,系统是不分析它规范性的,如你定义127.0.0.1 ___
打http://___/test1.php 也可以访问但是php的cookie机制是要检测其合法性的
ini_set('date.timezone', 'Asia/Shanghai');
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}
}?>
所以,我怀疑问题,还是出在域名上,你可以看一下你的cookie,
看看是通过那个域名中下的。
----------
<?php
setcookie("cookieName","leon",time()+3600);
?>
---------
2.php
-----------
<?php
echo $_COOKIE['cookieName'];
?>