Cookie设置两次(重复)

时间:2010-04-16 12:47:13

标签: php cookies

我是cookies的新手,我试图设置一个cookie来存储引荐者(org ref)。
但是当我尝试这个功能时:

function do_it_cookie() {

// Check if cookie exists
if (isset($_COOKIE['ref'])) {

    // It dose exist, do nothing or anything... 

    } else {
        setcookie ('ref', $_SERVER['HTTP_REFERER'], time() + 60, '/');
        header ("Location: http://www.nyttforetag.com/mind-your-own-business/");
    }
}

我想将cookie存储在用户计算机上30天,如果返回我想知道最初的裁判网址。

但是当我使用它时,让我说我去我网站的另一个页面,然后回到主页,它设置一个新的cookie,其名称与前一页的ref相同。

有没有避免这种情况?

2 个答案:

答案 0 :(得分:1)

现在你的cookie存储时间为60秒。

time()+60*60*24*30 //this makes store it for 30 days.

来自php.net expire -

  

Cookie过期的时间。这是一个   Unix时间戳也是如此   自纪元以来的几秒钟。其他   话说,你最有可能设置这个   使用time()函数加上   你想要它之前的秒数   直到到期为止。或者你可以使用mktime()。   time()+ 60 * 60 * 24 * 30将设置cookie   在30天后到期。如果设置为0,或   省略,cookie将在到期时到期   会话结束时(浏览器时)   闭合)

答案 1 :(得分:0)

First Point,请设置每天唯一的cookie名称。 请在日期中添加Cookie名称。 仅在主页或首页中设置cookie。 30天,您可以使用计算时间()+ 60 * 60 * 24 * 30.