Привет, я новичок в использовании AJAX и jquery, и я пытаюсь создать систему входа в систему, но когда я пытаюсь войти в систему, она успешно создает $ _SESSION, но не перенаправляет на следующую страницу, которую я пытался использовать window.location .replace, но это не похоже на работу. Я пытался найти ответы, но ни один из них, кажется, не работает. Надеюсь, кто-нибудь может мне помочь.
php
try {
// sql here
$sql = ("SELECT * FROM users WHERE username = :username");
$stmt = $db->connection->prepare($sql);
$stmt->execute(array(
':username' => $form_USERNAME
));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
//check if username is existing in database
if($form_USERNAME == $row['username']){
if(password_verify($form_PASSWORD, $row['user_pass'])){
session_start();
$_SESSION['loggedin'] = true;
$_SESSION['userid'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
$_SESSION['usertype'] = $row['user_type'];
echo json_encode(array('result' => 'ok'));
}
else{
echo json_encode(array(
'error' => array(
'msg' => 'Invalid Username or password'
),
));
}
}
else{
echo json_encode(array(
'error' => array(
'msg' => 'User not found'
),
));
}
} catch (Exception $e) {
echo json_encode(array(
'error' => array(
'msg' => $e->getMessage(),
'code' => $e->getCode(),
),
));
}
?>
jquery
<script>
$(function () {
$('#frmLogin').on('submit', function (e) {
e.preventDefault();
var FormData = $('#frmLogin').serialize();
$.ajax({
type: 'post',
url: '../forms/login.php',
data: FormData,
dataType: 'json',
encode: true,
beforeSend: function () {
$('#frmBtnLogin').text("Logging in");
},
success: function (data) {
if (data.error) {
$('#frmLoginUsername').text('');
alert(data.error.msg);
} else {
alert(data.result);
}
$('#frmBtnLogin').text("Log in");
}
});
});
});
Итак, я попытался найти ответы вокруг net и попробовал пару вещей, но все равно не получилось
ОБНОВЛЕНИЕ jquery
<script>
$(function () {
$('#frmLogin').on('submit', function (e) {
e.preventDefault();
var FormData = $('#frmLogin').serialize();
$.ajax({
type: 'post',
url: '../forms/login.php',
data: FormData,
dataType: 'json',
encode: true,
beforeSend: function () {
$('#frmBtnLogin').text("Logging in");
},
success: function (data) {
if(data.result == "ok"){
window.location.replace("user-home.php");
}
else if (data.error) {
$('#frmLoginUsername').text('');
alert(data.error.msg);
$('#frmBtnLogin').text("Log in");
}
}
});
});
});