每次我在此代码中进行新查询时如何设置cookie和删除cookie

时间:2013-08-08 18:45:22

标签: php cookies

 <?php
     if ($id) 
    {   
     if (empty($_COOKIE['id'])) {
     setcookie('id', $id, strtotime("+2 years"), '/');
}   
    $db->select("username", "member", "username='$id' and status=1");
        if($db->num_rows() > 0) {
        $sponsor=$db->result(0, "username");
        $ref = $sponsor;
    } 
    else {
        $db->select("username", "member", "status=1 and paket=1", "rand()", 1);
        $ref=$db->result(0, "username");
        header("location:?id=$ref");    
          } 

    } else {
        $db->select("username", "member", "status=1 and paket=1", "rand()", 1);
        $sponsor=$db->result(0, "username");
        $ref=$sponsor;
        header("location:?id=$ref");
    }
    ?>

上面的代码是我的联盟会员脚本,用于将Cookie设置为该联盟会员ID,如何在每次用户点击新链接时设置新的Cookie,例如www.domain.com/?id=user1,然后是所有ID&amp; cookies设置为user1,用户在同一台​​计算机上点击新链接www.domain.com/?id=user2,如何将链接转到www.domain.com/?id=user1而不是user2? (因为cookie user1存在)

如果计算机用户在浏览器中删除了cookie,我可以将cookie设置为2年吗?

有人可以帮助如何使这个脚本与cookie一起使用

1 个答案:

答案 0 :(得分:0)

您可以使用PHP setcookie();

设置初始cookie
setcookie('affiliateid', $id, strtotime("+2 years"), '/');

这很可能会进入你的第一个IF声明。

然后,要检查cookie是否存在以便不覆盖它,只需使用全局$ _COOKIE变量/ Array。

if (empty($_COOKIE['affiliateid'])) {
    //use the setcookie() code here since the cookie doesn't exist
}

顺便说一下......你的代码中有2个ELSE语句,这是不对的,第二个ELSE语句永远不会被使用,或者它会发出警告我猜。

如果有帮助,请告诉我。