问题设置和读取Cookie,PHP
问候,
一直在试图弄清楚为什么这不起作用。 由于所用设备上的会话存在问题,因此使用Cookie制作低安全性登录系统。 设置的cookie可以独立运行,但是在脚本中没有正确设置,或者在auth脚本中没有正确读取。 另外,在设置cookie之后,它不在浏览器中。 想法?
登录
<?php
//If passwords match, a cookie is created
if ($pw = $hashedpw) {
$memberID = "1221"; //Pulled from DB
setcookie('MDADMIN_SESS_ID',$memberID,'0','', '.somewhere.com');
header('Location: http://somewhere.com/secure_page.php');
}
?>
验证
<?php
//Verify that cookie is present
$cookie = $_COOKIE['MDADMIN_SESS_ID'];
if(!isset($cookie)) {
header("Location: http://somewhere.com/failed.php");
exit();
}
?>
过程如下:登录表单 - >登录脚本 - >安全页面(如果密码匹配) - >验证脚本(通过包含) - >重定向到失败登录如果cookie不存在。 运行时,即使登录脚本正确指向安全页面(成功登录),它也始终默认为不存在该cookie。
尝试
<?php
//If passwords match, a cookie is created
if ($pw = $hashedpw) {
$memberID = "1221"; //Pulled from DB
setcookie('MDADMIN_SESS_ID',$memberID,'0','/', '.somewhere.com');
header('Location: http://somewhere.com/secure_page.php');
exit();
}
?>
你错过了/的路径。
还要确保你有一个exit();
头后的功能; 因为如果你稍后在某个地方取消设置cookie,它可能也会受到影响。
尝试添加/到此行(在$ path变量中)如果设置为'/',则cookie将在整个域中可用
setcookie('MDADMIN_SESS_ID',$memberID,'0','/', '.somewhere.com');
链接地址: http://www.djcxy.com/p/57811.html
上一篇: Problems Setting and Reading Cookie, PHP
下一篇: getting ComException while reading the document in SharePoint 2010