PHP会员登录代码,验证通过,跳转页面后没法获取Cookie的值
程序员文章站
2022-04-20 18:55:22
...
PHP会员登录代码,验证通过,跳转页面后无法获取Cookie的值。
跟踪代码,用户登录验证通过,然后跳转到首页,在首页又有段代码是验证用户是否已登录(Cookie中是否有该用户名),结果Cookie一直为空,在本地测试是正常的。服务器是IIS,本地测试的服务器是Apache.
相关代码如下:
index.php页代码:
这个是checklogin.php页的代码:
网站没有跨域问题,都是在同一个网站下。
------解决方案--------------------
跟踪代码,用户登录验证通过,然后跳转到首页,在首页又有段代码是验证用户是否已登录(Cookie中是否有该用户名),结果Cookie一直为空,在本地测试是正常的。服务器是IIS,本地测试的服务器是Apache.
相关代码如下:
- PHP code
alert('登陆成功!');window.location.href='index.php';"; } else { echo ""; exit(); } } else { echo ""; exit(); } } ?>……略
index.php页代码:
- PHP code
……略
这个是checklogin.php页的代码:
- PHP code
网站没有跨域问题,都是在同一个网站下。
------解决方案--------------------
- PHP code
setcookie( "house_havelogin", "true", time( ) + 36000 ); setcookie( "house_username", $row['house_username'], time( ) + 36000 ); print_r($_COOKIE); //header( "Location: index.php" ); echo "";
------解决方案--------------------
上面的if先不要判断 直接 print_f($_COOKIE); 看下有什么结果 或用firecookie插件看下cookie有没有值
------解决方案--------------------
1 注释掉 header( "Location: index.php" );
2 在header( "Location: index.php" );下面添加 print_r($row);确认是否有用户信息存在
3 在index.php里面添加 echo $_COOKIE['house_username'] ;确认在COOKIE是否有数值
php.ini 内需要设置
output_buffering = on
程序自身还存在问题,如果登录正常了,那么任何人随便写用户名密码都能登录
建议在将查询的SQL加上用户名和密码2个字段进行查询相关文章
相关视频
上一篇: redis源代码分析20–发布/订阅