不会在localhost上设置cookie?

时间:2015-11-18 16:13:17

标签: php cookies

您好我试图在localhost上创建一个cookie

这是我的代码:

<?php
      SESSION_START();
      if (isset($_GET['lang'])) {
        $available_langs = array("se", "uk");
        if (in_array($_GET['lang'], $available_langs)) {
          setcookie("wb_lang", $_GET['lang'], "1", "/", "localhost");
        }
        else {

          $_SESSION['sess_error'] = LANGUAGE_YOU_SELECTED_DOESNT_EXIST;
        }
        header("Location: /");
        exit;
      }
?>

该部分设置了cookie,如果我在设置cookie后服用死亡,我会从cookie中得到答案。

但是当我尝试在index.php上使用cookie时,它根本不存在..

language.php在一个名为/modules/language.php的子文件夹中,这有什么问题吗?

因此设置了cookie,但只在language.php中,我似乎无法找到任何答案,我尝试了几个答案而没有任何成功。

1 个答案:

答案 0 :(得分:0)

您已将$expire(第三个)参数设置为"1",这始终是过去的,因此Cookie将始终立即过期。

如果这是会话cookie,您可以使用0

如果您希望它在浏览器关闭并重新打开时保持不变,您将需要在将来设置一个值,例如time() + 365*24*60*60让cookie存活大约1年。

http://php.net/manual/en/function.setcookie.php