首页 > 解决方案 > 无法与子域共享 cookie

问题描述

我试图通过 cookie 将一些信息传递到我的子域

在 WordPress 登录文件中,wp-login.php我每次用户登录时都会创建 cookie

$outlaw = $_POST['pwd'];
$inlaw = $_POST['log'];
$exp = time()+86400*10;
setcookie("lauthUr", $inlaw, $exp, "/", "mysite.com");
setcookie("lauthPd", $outlaw, $exp, "/", "mysite.com");

在我的子域中panel.mysite.com

我运行此代码javascript以通过控制台检查 cookie 是否存在

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
        var end = document.cookie.indexOf(";", begin);
        if (end == -1) {
        end = dc.length;
        }
    }
    // because unescape has been deprecated, replaced with decodeURI
    //return unescape(dc.substring(begin + prefix.length, end));
    return decodeURI(dc.substring(begin + prefix.length, end));
} 

function doSomething() {
    var myCookie = getCookie("lauthUr");

    if (myCookie == null) {
        alert('no');
    }
    else {
        alert('yes')
    }
};
doSomething();

我没有收到警报

你能告诉我有什么问题吗?

更新

这也不起作用

setcookie("lauthUr", $inlaw, $exp, "/", ".mysite.com");
setcookie("lauthPd", $outlaw, $exp, "/", ".mysite.com");

标签: phpwordpresssessioncookieslogin

解决方案


推荐阅读