ecshop的ucenter同步登陸uc.php 一點(diǎn)錯(cuò)誤勘誤

字號(hào):


    點(diǎn)評(píng):在ecshop的會(huì)員整合ucenter的set_cookie函數(shù)有問(wèn)題,所以給修正了下,需要的朋友可以參考下。文件在 /api/uc.php 搜索 set_cookie
    代碼如下:
    function set_cookie($user_id=”, $user_name = ”, $email = ”)
    {
    if (empty($user_id))
    {
    /* 摧毀cookie */
    $time = time() – 3600;
    setcookie(‘ECS[user_id]‘, ”, $time);//這里有問(wèn)題
    setcookie(‘ECS[username]‘, ”, $time);//這里有問(wèn)題
    setcookie(‘ECS[email]‘, ”, $time);//這里有問(wèn)題
    }
    else
    {
    /* 設(shè)置cookie */
    $time = time() + 3600 * 24 * 30;
    setcookie(“ECS[user_id]“, $user_id, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
    setcookie(“ECS[username]“, $user_name, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
    setcookie(“ECS[email]“, $email, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
    }
    }
    因?yàn)榧僭O(shè)這樣的架構(gòu)
    http://域名/ 是 ecshop ,http://域名/bbs/ 為論壇dzX2, 那么,在ec登陸后,dzX2 點(diǎn)退出,
    會(huì)發(fā)送一個(gè)javascript申請(qǐng)到 /api/uc.php的 logout請(qǐng)求 ( 如果setcookie 只是在 /bbs/ 下 設(shè)置cookie 為空,那么就清空不了cookie
    嚴(yán)格的應(yīng)該是
    setcookie('ECS[user_id]', '', $time,$GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
    那么代碼可以修改為
    還有要修改ecshop的 ucenter插件,ncludes/modules/integrates/ucenter.php
    如圖兩部分