Есть js код, который ловит нажатие кнопки и ajax отправляет в исполняющий файл. Исполняющий файл принимает данные, производит проверку на наличие данных из бд и отправляет запрос обратно.
Так вот, когда отправляю обратно json, то пишет ошибку. Как её решить не знаю. Нужна ваша помощь)
Собственно, сам код:
$(".enter").on("click", function() {
event.preventDefault();
var user = $('.user').val();
var password = $('.password').val();
$.ajax({
url: '../registr/reg.php',
type: 'POST',
data: {
'user': user,
'password': password,
'enter': true,
},
success: function(data) {
let user = JSON.parse(data);
},
});
});
Вот код php:
if(isset($data['enter'])){
$us = text_in($_POST['user']);
$password = text_in(md5(md5(trim($_POST['password']))));
$stn = $pdo->prepare("SELECT * FROM users WHERE user_login=:user");
$stn-> execute(array(":user"=>$us));
if (!empty($stn->fetch(PDO::FETCH_ASSOC)))
{
$stn = $pdo->prepare("SELECT * FROM users WHERE user_password = :password");
$stn-> execute(array(":password"=>$password));
if (!empty($stn->fetch(PDO::FETCH_ASSOC))){
$usr = $pdo->prepare("SELECT user_id FROM users WHERE user_login=:user");
$nick = $pdo->prepare("SELECT user_login FROM users WHERE user_login=:user");
$nick ->execute(array(":user"=>$us));
$name = $nick->fetch(PDO::FETCH_ASSOC);
$names = array_values($name);
$nickname = implode($names);
$usr ->execute(array(":user"=>$us));
$usi = $usr->fetch(PDO::FETCH_ASSOC);
$usid = implode($usi);
$hash = md5(generateCode($usid));
setcookie('name', $nickname, time()+3600, "/", null, null, true);
setcookie('id', $hash, time()+3600, "/", null, null, true);
echo json_encode(["nickname" => $nickname]);
}
}
}
Вот ошибка:
VM9753:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at Object.success (VM9709 let.js:36)
at i (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at A (jquery.min.js:4)
at XMLHttpRequest. (jquery.min.js:4)
Я недавно начал изучать Веб-разработку, поэтому прошу не кидать тапками :)