Показать сообщение отдельно
  #1 (permalink)  
Старый 18.02.2017, 15:44
Интересующийся
Отправить личное сообщение для ПавелСедой Посмотреть профиль Найти все сообщения от ПавелСедой
 
Регистрация: 14.02.2017
Сообщений: 12

AJAX обработка форм
Столкнулся с проблемой при выполнении 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", а вот все вместе не работает - пишет "не верный логин или пароль"...
В чем может быть проблема? я как то не правильно передаю формы?
Ответить с цитированием