php读取不了cookie
程序员文章站
2024-04-06 18:55:08
...
做一个登录界面,自动记忆用户名的功能
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保存路径和读取路径不一致?
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 在整个网站中有效
谢谢大侠,得救了!
上一篇: PHP生成HTML的技术原理_PHP教程
下一篇: php中实现记住密码自动登录的代码
推荐阅读
-
php读取不了cookie
-
PHP读取配置文件类实例(可读取ini,yaml,xml等)
-
PHP 读取文件内容代码(txt,js等)_PHP教程
-
php的文件读取和写入似乎对未知格式的文件不管用
-
CI框架实现cookie登陆的方法详解_php实例
-
PHP 读取文件的几种方法
-
DOM基础及php读取xml内容操作的方法_PHP
-
php中配置文件操作 如config.php文件的读取修改等操作_PHP
-
php 读取一个csv数据 再查看另一个csv中是否存在此商品编号,不存在插入 2个csv中列名不一样 应该怎么办
-
php同时使用session和cookie来保存用户登录信息的实现代码,sessioncookie_PHP教程