欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php设置cookie之后无法获取

程序员文章站 2022-06-03 21:21:45
...
情况是这样的,我写了个用户登录页面,前台登陆页 login.php 后台处理页login2.php
用户在前台输入用户名和密码,第一次能登陆,登陆之后再退出来,然后再次登陆的话却出问题了,用户名和密码都对了,后台验证用户密码都正确提示登录成功,但是马上又退出来了,因为$username=$_COOKIE["username"]为空,这是怎么回事呢?

第一次登陆的话设置cookie如下:
setcookie("username",$username,time()+3600,"/");

后台文件是先验证用户名和密码是否匹配,匹配的话就提示登录成功,然后获取$username=$_COOKIE["username"],获取到了就显示该用户的信息

第一次登录是可以的,但是退出之后再次登陆的话$username=$_COOKIE["username"]获取的$username为空


回复讨论(解决方案)

大半夜的...

按说是不会出问题的

正常的流程 登录时去匹配用户名和密码,匹配成功写cookie,而非去读.

需要显示是否登录的地方调用这个$_COOKIE["username"]来验证是否登录 你看看流程对不?

这个是用print_r($_COOKIE)输出的内容

Array(    [username] =>     [lasttime] =>     [Hm_lvt_40766697e0a5e9d980159040fbbbbea4] => 1375276361,1375276748,1375276810,1375284629    [Hm_lpvt_40766697e0a5e9d980159040fbbbbea4] => 1375286309    [username1] => fengfei    [lasttime1] => 1375354872    [bdshare_firstime] => 1375275427220    [fip] => visited)



这个是用:javascript:alert(document.cookie)弹出的cookie

你这个username1 有东西...

不如你贴出你的代码看看....

因为正常来说是不会出问题的所以没看出来你的问题在哪里,大半夜没有高手在我们来慢慢分析你的原因吧...

改用 var_dump($_COOKIE) 看一下
因为用 parint_r 看到的 username 是空的,但是 setcookie("username",$username,time()+3600,"/"); 中 $username 为空的话,就是删除 username 项。那么就不会再看到 username 项了

很看好看[size=24px]

Quote:

Quote:

Quote:

Quote:

Quote:

Quote:

Quote:

Quote:

Quote:

Quote:

Quote:

                                                                                          [/size  
]
已予以