嗨我的管理部分有一个登录系统我遇到问题,问题是用户第一次尝试登录时,$ _SESSION没有传递到目标页面, 在第二次尝试它工作正常,这是在登录页面上调用
$membership = new Membership();
if($_POST && !empty($_POST['username']) && !empty($_POST['pwd'])) {
$response = $membership->validate_User($_POST['username'], $_POST['pwd']);
}
在班级成员中
function validate_user($un, $pwd) {
$ensure_credentials = $this->verify_Username_and_Pass($un, $pwd);
if($ensure_credentials) {
$_SESSION['status'] = 'authorized';
$_SESSION['id'] = $ensure_credentials;
header("location: ambassadorUpdate.php");
die;
} else return "Please enter a correct username and password";
}
我已经检查了代码,当我没有发送到ambassadorUpdate并且SESSION设置但是如果我使用标题重定向到页面然后第一次SESSION不是 两个页面都有一个session_start,
当所有页面都在同一个文件夹中时,代码运行正常,但是当我将它们组织在一个单独的管理文件夹中时,我遇到了这个问题,但所有文件都被正确包含,
任何想法都非常感谢非常感谢
答案 0 :(得分:0)
尝试修改:
$membership = new Membership();
if($_POST && !empty($_POST['username']) && !empty($_POST['pwd'])) {
$response = $membership->validate_User($_POST['username'], $_POST['pwd']);
}
if ($response == true){
header("location: ambassadorUpdate.php");
} else echo "Please enter a correct username and password";
在班级成员中
function validate_user($un, $pwd) {
$ensure_credentials = $this->verify_Username_and_Pass($un, $pwd);
if($ensure_credentials) {
echo 'workied';
$_SESSION['status'] = 'authorized';
$_SESSION['id'] = $ensure_credentials;
echo $_SESSION['status'] . $_SESSION['id'];
return = true;
} else return false;
}
答案 1 :(得分:0)
我无法创建评论,所以我写了一个答案。
你检查session_start() in ambassadorUpdate.php
了吗?您的浏览器是否接受cookie?
如果没有,则使用"location: ambassadorUpdate.php".?SID
或使用session_name()=session_id()
代替SID
希望这会有所帮助。