PHP setcookie在子文件夹上不工作
我有下面的PHP代码,它将一个名为lang的cookie设置为en的值PHP setcookie在子文件夹上不工作,php,cookies,setcookie,Php,Cookies,Setcookie,我有下面的PHP代码,它将一个名为lang的cookie设置为en的值 setcookie('lang','en',time() + (86400 * 14)); 这有时是通过根目录上的脚本设置的,有时是在子文件夹中设置的。我从子文件夹和根目录中读取cookie的值,如下所示: echo $_COOKIE['lang']; 我遇到的问题是,如果我从子文件夹中设置cookie,我就无法读取该值。因此,似乎为每个子文件夹创建了一个cookie值 有没有办法解决这个问题?我不希望每个文件夹都有一个
setcookie('lang','en',time() + (86400 * 14));
这有时是通过根目录上的脚本设置的,有时是在子文件夹中设置的。我从子文件夹和根目录中读取cookie的值,如下所示:
echo $_COOKIE['lang'];
我遇到的问题是,如果我从子文件夹中设置cookie,我就无法读取该值。因此,似乎为每个子文件夹创建了一个cookie值
有没有办法解决这个问题?我不希望每个文件夹都有一个相同cookie名称的cookie
*更新*
我已更改为代码,使cookie应用于/。这是否意味着cookie将应用于所有子文件夹
setcookie('lang',$selected_language,time() + (86400 * 14),'/');
如您所见,这是setcookie()
函数的默认行为
服务器上的路径,cookie将在其中可用。如果
设置为“/”,cookie将在整个域中可用。如果
设置为“/foo/”,cookie将仅在/foo中可用/
目录和域的所有子目录,如/foo/bar/。这个
默认值是正在设置cookie的当前目录
在
如果希望Cookie对整个域有效,则应将路径设置为“/”。似乎是为每个子文件夹创建的?是的,这正是默认值是设置cookie的当前目录的含义。我怀疑你在某个地方找到了这段代码,但没有真正检查文档:-?谢谢,我添加了/并用包含/的代码编辑了我的帖子。这/是否意味着它将应用于整个域?
如果设置为“/”,cookie将在整个域中可用
我相信这意味着如果设置为“/”,它将对整个域可用。