【问题标题】:PHP Cookies not being loaded when coming from a clicked link来自单击的链接时未加载 PHP Cookie
【发布时间】:2016-02-09 15:30:39
【问题描述】:

我正在开发一个将用户会话令牌保存在 $_SESSION 中的网站。当我直接输入 URL 时,我可以很好地加载 cookie,但是当我点击通过 PHP 加载 cookie 的页面时,它找不到 cookie。有没有办法解决这个问题?

这是保存cookie的代码

setcookie("tpl_token", $token, time()+365*24*60*60, "/");

用于检索

if(isset($_COOKIE['tpl_token'])){
    $token = $_COOKIE['tpl_token'];
} else {
    echo "Cookie not set";
}

返回的是未设置 cookie。

【问题讨论】:

  • 请向我们展示您的代码,以便我们诊断您的问题。
  • 已更新,对此感到抱歉。
  • tpl_token 假定的会话 cookie 吗?
  • 你不能只用session_start()吗?
  • 这会影响 cookie 的加载吗?

标签: php session cookies session-cookies


【解决方案1】:

要在 PHP 中创建会话,请使用 session_start() 函数。 PHP 在内部为您处理会话,因此您不必做任何脏活。

例子:

session_name("tpl_token");
session_start(); //sends session cookie with name "tpl_token"

//create session variable.
$_SESSION["logged_in"] = true;

if(isset($_SESSION["logged_in"])){
//stuff to do if user is logged in already
} else {
//stuff to do if user is not logged in.
}

//Destroy Session/Logout;
session_unset();
session_destroy();

如果您尝试创建会话 cookie,则不需要 $_COOKIE[] 函数

【讨论】:

    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2011-01-16
    • 2021-06-11
    • 1970-01-01
    • 2015-09-18
    相关资源
    最近更新 更多