php设置cookie之后无法获取
用户在前台输入用户名和密码,第一次能登陆,登陆之后再退出来,然后再次登陆的话却出问题了,用户名和密码都对了,后台验证用户密码都正确提示登录成功,但是马上又退出来了,因为$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]已予以
下一篇: Ubuntu 18.04设置dns
推荐阅读
-
php新页面无法获取post值
-
为什么小弟我的COOKIE这样无法使用?还有PHP一定要以这种方式编写的吗
-
PHP getallheaders无法获取自定义头(headers)的问题
-
php curl获取https页面内容,不直接输出返回结果的设置方法
-
php创建、获取cookie及基础要点分析
-
curl不使用文件存取cookie php使用curl获取cookie示例
-
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
-
通过PHP设置BugFree获取邮箱通知
-
PHP setcookie设置Cookie用法(及设置无效的问题)
-
php第一次无法获取cookie问题处理