PHP Cookie 不起作用

标签 php cookies

我正在尝试访问我刚刚在同一域的其他页面中设置的 cookie,但它不起作用。当我执行 echo $_COOKIE 时,数组在新页面上为空,但包含创建页面上的 cookie。

这是/PROC/LOGIN.PROC.PHP 中的代码

//Set the cookie for 1 year.
setcookie("username", $username, time()+365*24*60*60);
setcookie("password", $password, time()+365*24*60*60); 

这是/INC/HEADER.INC.PHP 中的代码

if (isset($_COOKIE['username']) && isset($_COOKIE['password'])) {
include("pages/user.header.pages.php");

但是当我尝试设置 cookie 或仅在 header.inc.php 中显示数组时,该数组是空的。

最佳答案

您需要将 cookie 的 path 值设置为您域的根目录,as per the docs :

setcookie("username", $username, time()+365*24*60*60, '/');

否则,它将被设置为当前工作目录,在您的示例中为 /PROC/。因此,只有 /PROC/ 中的脚本才能使用该 cookie。

关于PHP Cookie 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677921/

相关文章:

php - 使用 PHP 构造 JSON 输出

python - 如何从 Python 中的 HTTP cookie 中提取特定 key ?

javascript - 每秒或更少制作一个 cookies 有什么不好吗?

angular - 应用程序在 Chrome 91 中无休止地重启,并在 'issues' 中出现 cookie 错误

javascript - 从 Javascript 访问在服务器端创建的 Cookie

python - 在 Python 中打开带有自定义 cookie 的网页

php - 使用php文件第二次更新数据库时出错

php - 访问ajax/jquery返回的数据并将其放入表单字段

php - 查找具有静态最大日期和最小日期的每日 session 的平均值

php - 用于 LAMP 堆栈上 MySQL 数据库的 NoSQL 副本的 MongoDB 与 CouchDB