这是我的目录结构
main folder (public_html)
index.php
sub-folder1
subindex1.php
subfirst1.php
sub-folder2
subindex2.php
subfirst2.php
这是我的目录结构。 主文件夹是public_html。我有两个子文件夹 - 子文件夹1和子文件夹2。
我在subfolder1的subindex1.php中运行一个脚本,在子文件夹2中设置一个cookie,以便subindex2.php可以访问它
这就是我现在正在做的事情。
在进行一些后端计算后,我从subindex1.php
设置了这样的Cookie,然后重定向到subindex2.php
setcookie('id', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/');
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/');
header("Location: ../sub-folder2/subindex2.php");
页面重定向但未设置Cookie。
这是定义cookie路径的方法吗?
答案 0 :(得分:1)
您的路径不正确。从/
开始,您将从根目录开始。使用以下内容:
setcookie('id', "", time() + 60 * 60 * 24 * 30, '/sub-folder2/'); // ../sub-folder2/
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/sub-folder2/'); // ../sub-folder2/
header("Location: ../sub-folder2/subindex2.php");
检查手册here是否有任何疑问。
答案 1 :(得分:1)
来自php手册
可在其上使用cookie的服务器上的路径。如果 设置为'/',cookie将在整个域中可用。如果 设置为'/ foo /',cookie只能在/ foo /中使用 目录和所有子目录,例如/ foo / bar / of domain。该 默认值是正在设置cookie的当前目录 英寸
setcookie('id', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/');
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/../sub-folder2/');
更改为
setcookie('id', "", time() + 60 * 60 * 24 * 30, '/');
setcookie('token', "", time() + 60 * 60 * 24 * 30, '/');
或者您希望这只适用于子文件夹2:
setcookie('id', "", time() + 60 * 60 * 24 * 30, '../sub-folder2/');
setcookie('token', "", time() + 60 * 60 * 24 * 30, '../sub-folder2/');