Wic*_*wok 41 php cookies http-headers
在做了一些处理之后,我想为用户输入设置一个cookie值,然后将它们重定向到一个新页面.但是,cookie没有设置.如果我注释掉重定向,则cookie已成功设置.我认为这是某种类型的标题问题.这种情况的最佳解决方法是什么?
if($form_submitted) {
...
setcookie('type_id', $new_type_id, time() + 60*60*24*30);
header("Location: $url");
exit;
}
Run Code Online (Sandbox Code Playgroud)
请注意,setcookie true在任何一种情况下都会返回,我没有收到任何错误/警告/通知.
编辑:我使用的是Unix/Apache/MySQL/PHP
Gla*_*vić 72
如果您有人工网址或子文件夹(例如www.domain.com/path1/path2/),则必须将cookie路径设置为/以适用于所有路径,而不仅仅是当前路径.
if($form_submitted) {
...
setcookie('type_id', $new_type_id, time() + 60*60*24*30, '/');
header("Location: $url");
exit;
}
Run Code Online (Sandbox Code Playgroud)
从PHP手册:
服务器上可以使用cookie的路径.如果设置为"/",则cookie将在整个域中可用.如果设置为'/ foo /',则cookie只能在/ foo /目录和所有子目录中使用,例如/ foo/bar/of domain.默认值是设置cookie的当前目录.
| 归档时间: |
|
| 查看次数: |
55223 次 |
| 最近记录: |