if(isset($_COOKIE['fengge']))
        {
         //echo $_COOKIE['fengge'];
         if($_GET['tpl']==1)
         {
         setcookie("fengge",null);
         setcookie("fengge",1,time()+100);
         $_COOKIE['fengge']=2;
          $this->display('index');
         }
         elseif($_GET['tpl']==2)
         {
         setcookie("fengge",null);
         setcookie("fengge",2,time()+100);
         $_COOKIE['fengge']=2;
          $this->display('template/index');
         }
         else
         {
         if($_COOKIE['fengge']==1)
         {
         echo "<script>alert('1');</script>";
         $this->display('index');
         }
         if($_COOKIE['fengge']==2)
         {
         echo "<script>alert('2');</script>";
          $this->display('template/index');
         }
         }
        }那些alert是我测试的刚开始没cookies,,就设cookies  setcookie("fengge",1,time()+100);然后,第二次进入判断isset就有了,然后我想根据$_GET['tpl']的值来改变cookies的值,,理论是美好的,,现实是残酷的,,无论是进什么办法,cookies都一直还是1,,,极度郁闷费解,,话说我正怀疑cookies值能不能改变的???

解决方案 »

  1.   

    要修改cookie的值,请用SetCookie。
    另外,cookie是在HTTP header里发送的。
    你在同一个页面既要设NULL,又要赋值,是否是这里有问题?
      

  2.   

    然后我想根据$_GET['tpl']的值来改变cookies的值这个是错误的需要通过$_COOKIE来操作$_COOKIE["test"]="Fff";
    echo $_COOKIE["test"];你试一下
      

  3.   


    setcookie(session_name(),session_id(),time() + $lifeTime, "/");//设置
    setcookie(session_name(), '', time()-42000, '/');//摧毁
      

  4.   

    剛學PHP,感覺cookie的用法有點難以掌握,進來學習下~~~
      

  5.   


    print_r($_SESSION);
    print_r($_COOKIE);
    //看看你的cookie值是不是你要摧毁