Столкнулся с проблемой при выполнении AJAX обработки форм:
Форма:
<form method="post" action="functions/auth.php">
<ul id="inputEmailPass">
<h3>Вход</h3>
<p id="messageAuth">Неверный логин или пароль!</p>
<li><center><input type="text" name="authLogin" id="authLogin" placeholder="Введите логин"></center></li>
<li><center><input type="password" name="authPass" id="authPass" placeholder="Пароль"></center></li>
<ul id="listAuth">
<li><input type="checkbox" name="rememberMe" id="rememberMe"><label for="rememberMe">Запомнить меня</label></li>
<li><a id="remindPass" href="#">Забыли пароль?</a></li>
</ul>
<p align="right" id="buttonAuth"><a>Вход</a></p>
</ul>
</form>
$(document).ready(function() {
var authLogin = $("#authLogin").val();
var authPass = $("#authPass").val();
if(authLogin === "" || authLogin.length > 30) {
$("#authLogin").css("borderColor", "#FDB6B6");
sendLogin = 'no';
} else {
$("#authLogin").css("borderColor", "#DBDBDB");
sendLogin = 'yes';
}
if(authPass === "" || authPass.length > 15) {
$("#authPass").css("borderColor", "#FDB6B6");
sendPass = 'no';
} else {
$("#authPass").css("borderColor", "#DBDBDB");
sendPass = 'yes';
}
if($("#rememberMe").prop('checked')) {
authRememberMe = 'yes';
} else {
authRememberMe = 'no';
}
if(sendLogin === 'yes' && sendPass === 'yes') {
$("#buttonAuth").hide();
$.ajax({
type: "POST",
url: "functions/auth.php",
data: "login=" + authLogin + "&pass=" + authPass + "&rememberMe=" + authRememberMe,
dataType: "html",
cache: false,
success: function(data) {
if(data == 'yesAuth'){
location.reload();
} else {
$("#messageAuth").slideDown(400);
$("#buttonAuth").show();
}
}
});
}
});
});
и PHP обработчик:
<?php
require_once "functions.php";
if($_SERVER["REQUEST_METHOD"] == "POST") {
$login = strtolower(clearString($_POST['login']));
$pass = strrev(md5(clearString($_POST['pass'])));
$pass = strtolower("ah40d".$pass."m6me9w");
if($_POST['remrmberMe'] == 'yes'):
setcookie('rememberMe', $login.'+'.$pass, time() + 3600*24*31, "/");
endif;
connectDB();
$query = $mysqli->query("SELECT * FROM `users` WHERE `login`='$login' AND `pass`='$pass'");
closeDB();
$rows = $query->num_rows;
if($rows > 0):
$userSession = resultToArray($query);
$_SESSION['auth'] = 'yesAuth';
$_SESSION['authPass'] = $userSession['pass'];
$_SESSION['authLogin'] = $userSession['login'];
$_SESSION['authSurname'] = $userSession['surname'];
$_SESSION['authName'] = $userSession['name'];
$_SESSION['authPatronymic'] = $userSession['patronymic'];
$_SESSION['authAddress'] = $userSession['address'];
$_SESSION['authPhone'] = $userSession['phone'];
$_SESSION['authEmail'] = $userSession['email'];
echo 'yesAuth';
else: echo 'noAuth';
endif;
}
Обработчик PHP проверял отдельно (менял POST на GET и передавал переменные) - возвращает "yesAuth", а вот все вместе не работает - пишет "не верный логин или пароль"...
В чем может быть проблема? я как то не правильно передаю формы?
