Как сделать проверку формы авторизации, данные которой получаю через ajax?
Пытаюсь сделать проверку формы авторизации и хочу реализовать такую логику: если поле $_POST['login'] совпадает с значением из файла json (в моем случае Admin), то мы переходим в cabinet. Но пока застопорился в плане логики, ведь исходя из прошлых заданных мною вопросов я понял, что не смогу просто так получить желаемый $_POST['login'], + дело до foreach скорее всего не дойдет, так как $_POST пустой. Подскажите, как можно решить данную проблему?
Ниже код: Файл IndexController.php
//обработчик формы
public function ajax_signin() {
$result = array(
'login' => $_POST["login"],
'password' => md5($_POST["password"])
);
$json = json_encode($result, JSON_UNESCAPED_UNICODE); //флаг для Кириллицы
echo $json;
}
//метод, в котором я пытаюсь проверить данные
public function index() {
$this->pageData['title'] = "Вход в личный кабинет";
$data = file_get_contents('test.json');
$data = json_decode($data, true);
if (!empty($_POST)) {
foreach ($data as $value) {
foreach ($value as $key => $item) {
if ($key == '0' && $_POST['login'] == $item) {
$_SESSION['user'] = $_POST['login'];
header("Location: cabinet");
}
else {
return false;
}
}
}
}
$this->view->render($this->pageTpl, $this->pageData);
}
Файл lib.js
$( document ).ready(function() {
$("#signinbutton").click(
function(){
sendAjaxForm('result_form', 'form__signin', 'Index/ajax_signin');
return false;
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
$.ajax({
url: url, //url страницы (action_ajax_form.php)
type: "POST", //метод отправки
dataType: "html", //формат данных
data: $("#"+ajax_form).serialize(), // Сеарилизуем объект
success: function(response) { //Данные отправлены успешно
result = $.parseJSON(response);
//$('#result_form').html('Имя: '+result.login+'<br>Пароль: '+result.password);
//window.location.href = "cabinet";
},
error: function(response) { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
}
});
}
Файл test.json
{"0":{"0":"Admin","1":"e10adc3949ba59abbe56e057f20f883e","2":"[email protected]","3":"Иван"}}