我在www.a.com下建立文件a.php,代码如下
<?php
setcookie('a', '1', time()+60);
setcookie('b', '1');
setcookie('c', '1', 0);
var_dump(array_keys($_COOKIE));
exit;
?>我在www.b.com下建立文件b.html,代码如下
<iframe src="http://www.wolun.com.cn/lijie/lijie.php"></iframe>这样,两个路径访问
http://www.a.com/a.php
http://www.b.com/b.html
测试结果www.b.com中$_COOKIE[a]和$_COOKIE[c]不显示,哪位了解是怎么回事呢,我测试过,只要setcookie函数的第3个以后参数有值,那么在另外一个域名下无论是iframe还是其他方法调取访问,都无济于事。。

解决方案 »

  1.   

    setCookie的第四个参数 path:   设置cookie 在服务器端的有效路径。 
       如果该参数设为 '/' 的话,cookie 就在整个 domain 内有效,如果设为 '/foo/',cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效,例如 /foo/bar/。默认值为设定 cookie 的当前目录。 
         所以你说的有值的话,就是设置了在你设置的域下才能取到改cookie的值,不设置的时候是默认当前web目录,则能取到
      

  2.   

    我了解你的意思,就是我的情况还不是简单的这个问题,我是跨域名的访问,一个是a.com,一个是b.com
      

  3.   

    不懂你要搞什么,
    cookie一般是按照自己的域名去保存的,也就是读取的时候,它也只能把自己的cookie发送给服务器.
    a.com cookie 在b.com提交时是不会提交给a.com的,就算你用框架什么的.除非有洞.
    然后服务器这边,它不管你是谁提交,就算是xmlhttp也得,它有cookie就取.这时你用cookie它是分不出从那来的.这是 我的理解.难道你想用php达到客户机边二个cookie共享?