我在 /order/a.php  设置 cookie;setcookie("buydd",$buyid,time()+3600,"/","127.0.0.1");print_r($_COOKIE);
/order/pay/ b.php 里print_r($_COOKIE);却发现 b.php 里死活都没有 buydd 这个 cookie ,无论怎么刷新也没,其他cookie项目也很不一样,很奇怪啊!

解决方案 »

  1.   

    设置了时区: date_default_timezone_set('PRC');同时改成这样:setcookie("buydd",$buyid,time()+36000);可还是不行,我没辙了!!
      

  2.   

    怎么访问的? 是不是先访问a.php 再访问 b.php 的?什么浏览器,禁用了cookie没哦
      

  3.   

    是先访问 a.php 然后 b.php 的,没有禁用 cookie
    a.php 的代码:<?php
    session_start();
    $aid=634;
    date_default_timezone_set('PRC');
    error_reporting(E_ALL);$tmstr='CCT';$tmstr.=date("his",time());$buyid=$tmstr.$aid.mt_rand(1,999);
    setcookie("buydd",$buyid,time()+36000);$_SESSION['buyid']=$buyid;print_r($_COOKIE);?>a.php print_r($_COOKIE) 输出:Array ( [buydd] => CCT101748634674 [buydd__ckMd5] => f143517216d21cd6 [bdshare_firstime] => 1356574071062 [__tsa_vn] => 96992031.1 [__tsa_nvt] => 96992031.1356574207734 [__tsa_lvt] => 96992031.1356574207734 [PHPSESSID] => 35d06d39cf2e9ef2419c1a835fa73267 [Hm_lpvt_c6ca6ea4f6a82938e24232a7a3da3949] => 1356571540 [Hm_lpvt_2b8020ba013427b89c69ec0d09653076] => 1356570587 )
    b.php 则输出:
    Array ( [PHPSESSID] => add12fb3bb8773a5a597c3b7d746b63c ) b.php 的代码:<?php session_start();
    date_default_timezone_set('PRC');
    error_reporting(E_ALL);
    print_r($_COOKIE);
    exit();
    ?>
    a.php 在 /order/b.php 在 /order/pay/apay/
      

  4.   

    现在可以了,但是好像两个cookie值并不一样啊!好奇怪啊!
      

  5.   

    抓个包看看header里cookie的有效期吧?