Перестает работать код после добавление проверки на существование логина

У меня не работает код, после добавление проверки.

Использую ajax

Вот код:

$(document).ready(function(){
        $('#register').on('submit' , function(){
            event.preventDefault();
            form = $(this);
            data = {};

            $.each(form.serializeArray(), function(i, e){
                data[e.name] = e.value;
            });

            $.ajax({
                url: form.attr('action'),
                type: 'POST',
                dataType: 'json',
                data: data,
                success: function( json ){
                if(json.error === true){
                    if(json.pass_leight === false){
                        console.log('Пароль большой');
                    }
                    if(json.login_el === false){
                        console.log('Логин уже есть');
                    }
                }
            }
        })
    })
})
public function reg(){
        if(User::isLogin()){
            header('location:'.'/account/');
            die;
        }

        $error = array('error' => true);
        $login = htmlspecialchars($_POST['login']);
        $email = htmlspecialchars($_POST['email']);
        $pass  = htmlspecialchars($_POST['password']);

        if($login == ''){
            $error['login'] = false;
        }

        if($email == ''){
            $error['email'] = false;
        }

        if($pass == ''){
            $error['pass'] = false;
        }
        if(strlen($pass) > 35){
            $error['pass_leight'] = false;
        }

        if($this->model->loginExist($login)){ //После добавление этого кода, в js перестает выводить например сообщение 'Пароль большой' в консоль.
            $error['login_el'] = false;
            echo "Логин уже есть"; //Хотя выводит это сообщение.
        }

        if(count($error) > 1){
            echo json_encode($error);
            die;
        }

        $data = array(
            ':login' => $login,
            ':password' => password_hash($pass, PASSWORD_DEFAULT),
            ':email' => $email,
        );

    }
}

После добавление проверки:

if($this->model->loginExist($login)){
        $error['login_el'] = false;
        echo "Логин уже есть";
    }

Перестает работать например 'Пароль большой', в js скрипте. Почему так происходит? Проверка на существование текущего логина работает. Возвращает false/true.

Проверка:

public function loginExist($login){
    $sth = $this->db->prepare("SELECT id, login FROM users WHERE "
        . "login = :login");
    $sth->execute(array(
        ':login' => $login,
    ));
    if($sth->rowCount() > 0){
        return true;
    }else{
        return false;
    }
}

Что делать? Может я с чем то прокасячил? Помогите пожалуйста! Вот кстати вывод функции reg() введите сюда описание изображения


Ответы (0 шт):