php读取不了cookie

WBOY
Release: 2016-06-23 14:27:26
Original
908 people have browsed it

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

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 在整个网站中有效

谢谢大侠,得救了!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template