+ -
当前位置:首页 → 问答吧 → 关于cookie的问题,请高手相助!

关于cookie的问题,请高手相助!

时间:2010-08-20

来源:互联网

本人最近在研究ecshop的,自己动手做了一点二次开发,但现在遇到一个问题,让我百思不得其解。
因为做了很多推广,我想统计一下来路。我的思路是获取来路的主域名,然后将它保存到cookie中,生命周期是半小时。半小时内,cookie值不作更新,半小时后,再作更新。
程序:
lib_cookie.php
<?php
    //记录cookie//
    define('IN_ECS', true);
    
    
    /*记录来路,并把它保存到COOKIE*/

// echo $from;
$a=split ("/", $_SERVER['HTTP_REFERER']);
if ($a[2]=='www.baidu.com'||$a=='baidu.com')
{
   $from2='baidu';
}
elseif ($a[2]=='www.google.com')
  {
   $from2='google';
}
else
{
   $from2='qita';
}
if (isset($_COOKIE['Fromas']))//如果COOKIE值不存在,则保存COOKIE值
{  
   $time = time() + 3600 *0.5 * 30;
    setcookie("Fromas", $from2, $time);
}
在网站的根目录新建a.php
<?php
  define('IN_ECS', true);
    require(dirname(__FILE__) . '/includes/lib_cookie.php');
    
    echo $a[2]."<p>";
    echo $from2."<p>";
    if ($_COOKIE['Fromas']==0)
    {
     echo "cookie值:".$_COOKIE['Fromas'];
    }
     else
    {
       echo "cookie不存在";
    }
print_r($_COOKIE);
?>

测试时,从百度搜索里访问主站,然后切换到http://www.XXX.com/a.php
页面显示cookie值是“baidu"
但刷新页面后或者先访问别的页面,再返回到a.php时,cookie值就变成了"qita",这是为什么?请高手相助!

    
?>

作者: dwzjs   发布时间: 2010-08-20

因为'HTTP_REFERER'这个值 已经发生变化了。。。所以cookie的值变为qita了

其实你要这样的统计,我这边有一个思路

就是在ecshop的init.php来判断哪里获取

然后保存到数据库,不必要保存到cookie了

赶紧你这个统计保存到cookie有点不是很明白了!

而且ecshop里面有一个判断哪里获取的,写得不错,你可以借鉴一下

作者: bmdq   发布时间: 2010-08-20