无法从我网站的任何其他部分访问 Cookie。我怎样才能解决这个问题?

Cookie can't be accessed from any other part of my site. How can I fix this?

我构建 PHP 站点的方式经常使用诸如

之类的命令
<?php include($_SERVER['DOCUMENT_ROOT'] . "/scripts/create_comment_section.php"); ?>

将一系列单独的页面串成一个整体。也许这可能是以下问题的根源?我一直在看教程,用头撞墙一个小时,但无济于事。

在我用来练习编码的网站的根目录 (/index.php) 中,我定义了一个持续 2 分钟的 cookie。我在包含我所有 <!doctype><head> 内容的文件之前定义了它。

summon.endgame.pk/index.php:

<?php
$cookie_name = "user";
$cookie_value = "Anna Cake";
setcookie($cookie_name, $cookie_value, time() + (60 * 2), "/", ".endgame.pk"); // 60 seconds x 2 = 2 mins
?>

<?php include($_SERVER['DOCUMENT_ROOT'] . "/html_head.html"); ?>
<body>

<!-- ✎ background image  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<img src="/img/background-top.jpg" style="position: absolute; left:0px; top:0px; z-index:1">

<!-- ✎ login panel  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<?php include($_SERVER['DOCUMENT_ROOT'] . "/homepage/login.html"); ?>

<?php include($_SERVER['DOCUMENT_ROOT'] . "/homepage/article_intro.html"); ?>
<?php include($_SERVER['DOCUMENT_ROOT'] . "/homepage/article_news.html"); ?>

<?php include($_SERVER['DOCUMENT_ROOT'] . "/html_foot.html"); ?>

我网站上的每个页面都包含文件 /homepage/login.html,用于检查是否已设置 cookie:

<!-- login panel -->
<div class="table1" style="position: absolute; top: -30px; left: 800px; width:400px; height: 200px; z-index: 2; padding: 35px 15px 15px 15px;">
<span class="title1">Login</span>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";   } 
else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];    }
?>

</div>

当我转到我的主页(首次发送 cookie 的地方 - index.html)并刷新该页面两次(发送 cookie 并检查它)时,它显示完美。但是,当我尝试访问我网站的任何其他部分(例如 summon.endgame.pk/summon_chance)并尝试读取该 cookie .... 它说它尚未设置。

这是我第一次绑定使用 cookies ...我已经阅读了几个小时的教程,我不明白为什么它在其他页面上不起作用,因为我已经在网站的索引中定义了它.

$cookie_value, time() + (60 * 2), "/", ".endgame.pk")

我什至添加了“/”来指定所有子文件夹,以及“.”在我的域名之前确保...

请帮忙.. Whosebug 是我最后的选择!!

我发现了我的错误!

cookie 本身已正确编写,现在可以使用了。问题是我定义了变量

$cookie_name = "user";
$cookie_value = "Anna Cake";

在一个文件中,然后尝试在一个完全不同的文件中再次使用它们,该文件甚至没有包含第一个文件。我没有尝试再次使用这些相同的变量来检查 cookie(它已经完美地工作了!)我已经更改了测试代码以查看是否已从以下位置记录了 cookie:

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";   } 
else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];    }
?>

<?php
if(!isset($_COOKIE['user'])) {
    echo "Cookie named 'user' is not set!";   } 
else {
    echo "Cookie 'user' is set!<br>";
    echo "Value is: " . $_COOKIE['user'];    }
?>

现在它 returns "Anna Cake" 遍及我的整个网站,即使 cookie 仅在索引页面中定义。