php cookies只在localhost上工作

时间:2018-04-23 21:47:50

标签: php cookies localhost

我最近开始做一些php并使用cookie制作了用于语言更改的代码。它在localhost上完全正常工作,但是当我上传它时,浏览器似乎没有保存任何cookie。

所以我尝试为localhost和server设置域名,但它仍然不起作用。

$whitelist = array(
    '127.0.0.1', 
    '::1'
);
if(in_array($_SERVER['REMOTE_ADDR'], $whitelist)){
    $domain = '.localhost';
} else {
    $domain = '.bjarnesc.de';
}
if (isset($_GET['lang'])) {
    $lang = $_GET['lang'];
    setcookie('lang', $lang, (time()+(86400*30)), "/", $domain);
    $_COOKIE['lang'] = $lang;
}
else if (!isset($_COOKIE['lang'])) {
    setcookie('lang', 'de', (time()+(86400*30)), "/", $domain);
    $_COOKIE['lang'] = 'de';
}
if ($_COOKIE['lang'] == 'en') {
    include("../languages/en.php");
}   else if ($_COOKIE['lang'] == 'de') {
    include("../languages/de.php");
}

1 个答案:

答案 0 :(得分:0)

最可能的问题是 - 由于您包含的文件中的空格或同一文件本身已经发送了标头。要么修复它,要么在开始时设置cookie。