Почему не срабатывает ajax скрипт авторизации?

Собственно мучаюсь уже пару часов с этим скриптом. Подскажите, где я допустил ошибку?

$(document).ready(function(){
    
var clickButtonLoginForm = $(".clickButtonLoginForm");
	
	clickButtonLoginForm.click(function(){
		
		var name_login = $("#name_login").val();
		var pass_login = $("#pass_login").val();
		
		if (name_login == "" || pass_login == "") {
		
			$("#error").text("Вы не заполнили все поля").removeClass("success").addClass("error").show().delay(3000).fadeOut(300);
			
		} else {
			
			$.ajax({
				
				url: "http://dle.ru/modules/auth.php",
				type: "POST",
				data: {name: name_login, pass: pass_login},
				success: function(data){
					
					if (data) {
						
						if (data == 1) {
							
							alert("Такая пара логин/пароль НЕ найдена.");
							
						} else {
							
							if (data == 0) {
								
								alert("Вы успешно авторизовались. Обновите страницу (F5).");
								
							} else {
								
								alert("Неизвестная ошибка");
								
							}
							
						}
						
					} else {
						
						alert("Данные не получены!!!");
						
					}
					
				},
				error: function(){
					
					alert("Неизвестная ошибка, возможно отсутсвует подлючение к интернету");
					
				}
				
			});
			
		}
		
	});

});


Ну и php скрипт авторизации

session_start(); //не забываем во всех файлах писать session_start
	require_once ("config.php");
       
if (isset($_POST['user']) && isset($_POST['password'])){
    
	$login = mysql_real_escape_string(htmlspecialchars($_POST['user'])); //немного профильтруем логин
	$password = md5(trim($_POST['password'])); //хешируем пароль т.к. в базе именно хеш
    $query = "SELECT id, user FROM rust_users WHERE user= '$login' AND password = '$password' LIMIT 1"; // проверяем введенные данные
    $sql = mysql_query($query) or die(mysql_error());
	

    
    if (mysql_num_rows($sql) == 1) { // если такой пользователь есть
        $row = mysql_fetch_assoc($sql);
		$_SESSION['id'] = $row['id']; //ставим метку в сессии 
		$_SESSION['user'] = $row['user'];
		setcookie("CookieMy", $row['user'], time()+60*60*24*10);	//ставим куки и время их хранения 10 дней
   }
    else {
        //если пользователя нет, то пусть пробует еще
	 echo "Логин или пароль введены не верно";
    }	

}
//проверяем сессию, если она есть, то значит уже авторизовались
	if (isset($_SESSION['id'])){
		#echo htmlspecialchars($_SESSION['login'])." <br />"."Вы авторизованы <br />";
	} else {
		$login = '';
	
	if (isset($_COOKIE['CookieMy'])){ //проверяем куку, может он уже заходил сюда
		$login = htmlspecialchars($_COOKIE['CookieMy']);
	}
	//простая формочка

}

	if (isset($_POST['exit'])){
		session_destroy();
	}


Ну и формочка в шаблоне

<div id="error"></div>
<form method="POST" style="margin:0;">
		<input id="name_login" name="user" type="text" placeholder="Логин" style="width: 100%;margin-bottom: 10px;"/><br/>
		<input id="pass_login" name="password" type="password" placeholder="Пароль" style="width: 100%;margin-bottom: 10px;"/> <br/>
		<input class="clickButtonLoginForm" name="submit" type="submit" value="Войти"/>
	</form>
  • Вопрос задан
  • 2437 просмотров
Пригласить эксперта
Ответы на вопрос 3
CTAKAH4uK
@CTAKAH4uK
У вас в JS :
data: {name: name_login, pass: pass_login},
А В PHP
if (isset($_POST['user']) && isset($_POST['password'])){

В php и JS по разному называются поля
Ответ написан
@szubcu
А что именно не срабатывает?
Ответ написан
@Power
Во-первых, если data равно 0, то условие if (data) не выполнится (0 приводится к false).
Во-вторых, не вижу, где вы что-то отдаёте в качестве ответа из dle.ru/modules/auth.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы