Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятная ошибка при обработке формы 
:(
    Опции темы
Satellence
Дата 22.8.2011, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 28.3.2007

Репутация: нет
Всего: нет



Есть форма логина, работающая с помощью jquery.
Для проверки введенных данных использую ajax.
Наблюдаю следующую ошибку: 
При первом нажатии "вход в систему" окно логина скрывается, а в адресную строку добавляется /?#
Не важно, что введено, если ввод не верный, все равно окно закрывается (а этого не должно быть).
А работает все как нужно только при наличии этих символов О_о

Листинг:

Форма:
Код

<div id="login_area">
        <div id="close_w"></div>
        <div class="login_area_inner">
            <form id="login_form">
                <div class="login_input_area">
                    <div class="login_text">Логин:</div><div class="login_input"><input id="login_input" type="text" size="30"></div>
                    <div class="clear"></div>
                    <div class="login_text">Пароль:</div><div class="login_input"><input id="password_input" type="password" size="30"></div>
                    <div class="clear"></div>
                    <div class="register_btn">
                        <a class="button_solid" href="#"><div class="button_solid_first">Регистрация</div><div class="button_solid_second"></div></a>
                    </div>
                    <div class="login_btn">
                        <a class="button_solid" href="#"><div class="button_solid_first">Вход в систему</div><div class="button_solid_second"></div></a>
                    </div>
                    <div class="login_ajax_img">
                        <img src="/desigin/images/ajax-loader-small.gif" alt="Загрузка...">
                    </div>
                    <div class="login_ajax_text">
                        Аутентификация...
                    </div>
                </div>
            </form>
        </div>
    </div>


JavaScript
Код

$(document).ready(function(){
    $("#login_js_event").click(function(){ $("#login_area").fadeIn(200); });
    $("#close_w").click(function(){ $("#login_area").fadeOut(100); }); 
    
    (".login_btn > a").click(function(){
        // Маленькая хитрость, чтобы была отправка формы и браузеры запоминали ввод
        $("form#login_form").submit();
        return false;
    });
    
    // Добавляем Энтер
    $('#login_input').keypress(function(e){ if(e.which == 13){ $('form#login_form').submit(); } });
    $('#password_input').keypress(function(e){ if(e.which == 13){ $('form#login_form').submit(); } });
    
    // При отправке формы
    $("#login_form").submit(function() {
        $(".login_ajax_img").fadeIn(100);
        $(".login_ajax_text").html("Аутентификация...").css("color","#000").fadeIn(100);
        
        $.get("/control_config.php", {
            ajax: "login",
            login:$("#login_input").val(),
            password:$("#password_input").val(),
            rand:Math.random() 
        } ,function(data) {
            if (data == 1) { 
                $(".login_ajax_text").html("Авторизация...").css("color","#2b8c00");
                location.reload(true); 
            }
            if (data == 0) { 
                $(".login_ajax_img").hide();
                $(".login_ajax_text").html("Логин или пароль введены не верно.").css("color","#c00");
            }         
        });    
        return fasle;
    });
    
    $("#login_area").draggable({ cancel: ".login_area_inner" });
});


Дело явно не в php, но на всякий случай:
Код

//Логин
    if ($_GET['ajax'] == 'login')
    {
        if (isset($_GET['login']) && isset($_GET['password']))
        {
            $login = $_GET['login'];
            $password = md5(md5($_GET['password']));
            $query = "
                SELECT `id`,`login`,`rules`,`mail_check`
             FROM `user`
             WHERE `login`='{$login}' AND `password`='{$password}'
             LIMIT 1
            ";
            $sql = mysql_query($query);
        
            // если такой пользователь нашелся
            if (mysql_num_rows($sql) == 1)
            {   
                $row = mysql_fetch_assoc($sql);
             $_SESSION['user_id'] = $row['id'];
             $_SESSION['user_login'] = $row['login'];
                $_SESSION['user_rules'] = $row['rules'];
                echo 1;
            } else echo 0;
        } else echo 0;
    }


потыкать палочкой в баг можно тут: http://iternia.ru/
PM MAIL   Вверх
Satellence
Дата 22.8.2011, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 28.3.2007

Репутация: нет
Всего: нет



глупая опечатка, которая проходила валидацию ((
небыло & перед (".login_btn > a").
Можно закрывать тему
PM MAIL   Вверх
нуп
Дата 22.8.2011, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 8
Всего: 33



 Поставьте firebug или любой другой js дебагер. У вас сразу 2 ошибки есть.
1 - Строка 35. fasle is not defined
2 - Строка 43. window.attachEvent is not a function
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.