普通php文件,cookies正常
<?php
if(isset($_COOKIE['fengge']))
  {
  if($_GET['tpl']==1)
  {
  $_COOKIE['fengge']=1;
  setcookie("fengge",1,time()+60);
  echo $_COOKIE['fengge'];
  }
  elseif($_GET['tpl']==2)
  {
  $_COOKIE['fengge']=2;
  setcookie("fengge",2,time()+60);
  echo $_COOKIE['fengge'];
  }
  else
  {
  if($_COOKIE['fengge']==1)
  {
  echo "<script>alert('1');</script>";
  echo "111111111111";
  }
  if($_COOKIE['fengge']==2)
  {
  echo "<script>alert('2');</script>";
echo "2222222";
  }
  }
  }
  else
  {
   setcookie("fengge",1,time()+60);
   echo "<script>alert('else');</script>";
  }
?>
  <select name="fengge"onchange="location=this.value">
<option selected >----网站风格----</option>
<option value="?tpl=1">----测试1----</option>
<option value="?tpl=2">----测试2----</option>
</select>
thinkphp模式下不正常了,控制器
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action{
    public function index(){
        header("Content-Type:text/html; charset=utf-8");
        if(isset($_COOKIE['fengge']))
  {
  if($_GET['tpl']==1)
  {
  $_COOKIE['fengge']=1;
  setcookie("fengge",1,time()+60);
  $this->display('index1');
  }
  elseif($_GET['tpl']==2)
  {
  $_COOKIE['fengge']=2;
  setcookie("fengge",2,time()+60);
  $this->display('index2');
  }
  else
  {
  if($_COOKIE['fengge']==1)
  {
  echo "<script>alert('1');</script>";
  $this->display('index1');
  }
  if($_COOKIE['fengge']==2)
  {
  echo "<script>alert('2');</script>";
$this->display('index2');
  }
  }
  }
  else
  {
   setcookie("fengge",1,time()+60);
   echo "<script>alert('else');</script>";
   $this->display('index1');
  }
    }
}
?>
模板
<select name="fengge"onchange="location=this.value">
<option selected >----网站风格----</option>
<option value="?tpl=1">----测试1----</option>
<option value="?tpl=2">----测试2----</option>
</select>

1111111111111111111111111111
tp下不正常求解惑

解决方案 »

  1.   

    模板写错了,是__URL__/index/tpl/1   ....
      

  2.   

    print_r($_COOKIE);//输出调试看看数据。
      

  3.   

    把cook  dump 一下就知道了。还有,你用的cook 不是 TP提供的cook方法吧?你是用原生的php cook函数。cook有问题,与客户还有关 的。
      

  4.   

    还真的不能,TP 下的COOKIE 没有设置到客户端~~~