Maison >développement back-end >tutoriel php >php设置cookie之后无法获取

php设置cookie之后无法获取

WBOY
WBOYoriginal
2016-06-23 13:34:321398parcourir

情况是这样的,我写了个用户登录页面,前台登陆页 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
]
已予以
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn