结束会话/清除cookie

时间:2012-02-13 15:24:52

标签: php

好的,所以我从其他公司获得了一些我必须维护/修复的遗留代码。此代码的一个功能是,有几个站点绑定到这个主站点,每当您从其他站点导航到此站点时,其他站点的徽标将显示在主站点上(基本上这是一项服务供多家银行使用,每家银行都想拥有自己的品牌。)

问题是,一旦你从site1导航到主站点,如果你从site2导航到主站点,你仍然会得到site1的品牌。

有没有办法清除会话的cookie?到目前为止,他们已经有了这样的代码,这应该是理论上的工作:

    else
    {
        setcookie("cuid","",time() - 31536000); //DELETES COOKIE

        if( $cuid_demo!="samplecu" && $cuid!="samplecu" )
            setcookie("cuid",$cuid,time()+2592000); //2592000 = 1 month

        $link=dbconnect();

        if(!$link)
            die("error: Could not connect to database - ".dberror() );

        select_db($link) or die("error: ".dberror() );

        if (isset($admin_id))
        {
            $cuid = $admin_id;
            $id = $admin_id;
        }

        $query="UPDATE cusucceed SET visits=visits+1 WHERE id = '$cuid'";
        $result=dbquery($link, $query)or die("Database Server Error 2: ".dberror());
        include("index_main.php");

    } //END IF/ELSE TO CHECK FOR PREVIOUS VISIT WITH THE PAST MONTH
}

在它什么也没做之前。不应该setcookie("cuid", "", time() - 31536000);删除Cookie,正如评论所说的那样?

1 个答案:

答案 0 :(得分:3)

重置时需要为cookie设置正确的域名。

setcookie('name', NULL, -86400, 'cookie_path', 'subdomain.site1.com');