解决方案 »

  1.   

    你的 cookie 有一天的有效期
    所以直接地址栏进入时,可能会进入 else 分支(cookie不为空)
    在 else 分支中
    $host=$_SERVER['HTTP_HOST'];
    $http='http://'.$_SERVER['HTTP_HOST'];
     
    $sql=$db->query("select * from ".$db->table('area')." where dns='$http'");
    $row=$db->fetch_array($sql);
    setcookie('mycity',$row['title'],time()+86400,'/','0971my.com');
    if($host<>$_SERVER['HTTP_HOST']){
      header("location:http://".$host."");
    }并没有根据 cookie 中的信息进行跳转的代码
    所以只能是输入什么地址就进到什么地址中去
      

  2.   

    对的,这个我看到了,现在我要做的就是手动输入地址,怎么让这个cookie自动失效,根据IP去进行跳转,当然我通过点击进入二级域名,再点击其他栏目链接的时候这个cookie可不能失效的。该怎么做?
      

  3.   

    你给 cookie 设置有效期的目的是:再入时直接进入上次进入的地址
    所以你需要在 cookie 中保存有足够的信息
    你现在值保存了地区名称,所以需要从地名反查域名来决定是否跳转
    流程是这样的:
    cookie 有值吗?
    有,根据地名查询域名
    无,根据ip查询域名
    取得的域名是 $_SERVER['HTTP_HOST']
    是,不跳转
    否,跳转到取得的域名如果在 cookie 中再保存域名的话,就可以省去从地名到域名的反查了
      

  4.   


    $_cookie['zt']和$_cookie['mycity'的值都是存在的,那么我是不是应该在else里面再进行用地域名查询域名?]
      

  5.   

    $_COOKIE['mycity'] 是地名
    $_COOKIE['zf'] 是什么呢?
      

  6.   

    只是点击的一个状态,用来判断是自动切换还是手动点击切换,我在域名后面xa.xxx.com/?status=1,用来判断是哪个状态进行访问
      

  7.   

    版主问下,我这个cookie跨域对后台有影响吗,为什么弄了个这,我后台打不开了,直接就是空白?