Я пытаюсь создать свою систему входа в систему AJAX, но у меня возникают некоторые проблемы с сеансами PHP.
Это код AJAX, который я использую в своей index.php
:
$("#buttonLogin").click(function(){
$.post("<?php echo $AJAX ?>/ajaxLogin.php",{
Username : $("#loginUsername").val(),
Password : $("#loginPassword").val()
},
function(result){
if(result == "OK"){
window.location.href = "<?php echo $PUBLIC?>/home.php";
} else {
$("#loginMessageError").show();
}
});
});
И это ajaxLogin.php
, которое вызывается через AJAX:
<?php
require_once("../settings.php");
require_once($ABS_ENGINE."/classUser.php");
$user = new User();
if($user->loginUser($_POST["Username"], $_POST["Password"])){
$UserID = $user->getUserId($_POST["Username"]);
session_start();
$_SESSION['UserID'] = $UserID;
echo "OK";
} else {
echo "ERROR";
}
?>
Когда я нахожусь в home.php
и пытаюсь повторить $_SESSION["UserID"]
, я получаю следующую ошибку:
Примечание: неопределенный индекс: UserID в C: \ xampp \ htdocs \ webname \ resources \ templates \ headerHome.php в строке 23
Возможно, это не правильно, потому что сессия должна быть установлена перед любым выводом, но если я пытаюсь повторить строку $_SESSION['UserID'] = $UserID;
, ее переменная сеанса отображается правильно.