Home > Backend Development > PHP Tutorial > php设置cookie之后无法获取

php设置cookie之后无法获取

WBOY
Release: 2016-06-23 13:34:32
Original
1396 people have browsed it

情况是这样的,我写了个用户登录页面,前台登陆页 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)
Copy after login



这个是用: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:

Copy after login

[/size
]
Copy after login
已予以

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