php读取不了cookie

WBOY
Lepaskan: 2016-06-23 14:27:26
asal
908 orang telah melayarinya

做一个登录界面,自动记忆用户名的功能

if(empty($_POST['chkRemember'])) {
       //用户没有选择单选框
         if(!empty($_COOKIE['username'])){
            setcookie('username','',time()-100);
         }
      }else{
       //用户选择单选框
       setcookie('username',$username,time()+7*24*3600);
      }

当用户选了记住用户名的单选框时,COOKIE已经保存,在C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies菜单下多了一个COOKIE文件(administrator@localhost[1].txt),内容也是正确的

但是读取COOKIE却不成功,每次都是返回控制
' />

  function GetCookieVal($key){
  if(empty($_COOKIE[$key])){
     return "none";
  }else{
  return $_COOKIE[$key];
  }
}
?>

直接打印COOKIE数组   print_r($_COOKIE);
得到的也是空数组


求教这是怎么回事?
是不是COOKIE保存路径和读取路径不一致?


回复讨论(解决方案)

应该是每次都返回空值,我打错字了。

1、
setcookie('username',$username,time()+7*24*3600);

GetCookieVal("username")
必须是在不同的 HTTP 会话中进行的

2、你在设置 cookie 时 没有指定路径
所以 cookie 只在执行 setcookie 的程序所在路径下有效
如果执行 GetCookieVal 的程序不在同一路径下,则不会取到值

setcookie('username',$username,time()+7*24*3600,  '/');
这样才可以使 cookie 变量 username 在整个网站中有效

谢谢大侠,得救了!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan