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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка содержимого переменной методом GET, проблемка 
:(
    Опции темы
DjRoot
Дата 9.11.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Пишу AJAX систему авторизации. Возникла проблема в передачи поля password php скрипту методом GET. При этом поле login  передается нормально, а пароль нет( Весь код перелопатил, в JAVA скрипте пароль есть, а на PHP его уже нет. Огромная прозьба помогите, ткине в место где ошибка, а то я с JavaScript знаю на уровне азов.

Код

function DoLogin(){
   if(document.getElementById('login').value && document.getElementById('pass').value){
        var req = new JsHttpRequest();
    var login = document.getElementById('login').value;
    var password = document.getElementById('pass').value;

    req.onreadystatechange = function() {
            if (req.readyState == 4) {
             document.getElementById('Message').innerHTML = req.responseJS.text;
                document.getElementById('Message').style.visibility = 'visible';
                if(document.getElementById('Message').innerHTML == 'Loading...') window.location.href = '?p=characters'; else destroyLoadingBar();
                document.getElementById('pass').value = '';
         }
    }
    req.open("GET", 'ajax/ajax-site.php?type=login&login='+login+'&pass='+password, true);
    req.send( {  } );
    } else {
          document.getElementById('Message').innerHTML = 'Вы не ввели логин или пароль.';
      document.getElementById('Message').style.visibility = 'visible';
    }
}

PM MAIL   Вверх
IDVsbruck
Дата 9.11.2009, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Все верно. Просто, видимо, где-то невнимательно на сервере извлекаешь.

Еще момент: если на странице оба инпута присутствуют, то условие
Код
if(document.getElementById('login').value && document.getElementById('pass').value)

будет выполняться всегда, так как значения никак не равны undefined или даже null, если значения не введены, то будет просто пустая строка "", поэтому поменяй условие для проверки.

Ну и общая оценка: кто ж авторизацию делает GET-запросом? - Неосмотрительно.
PM MAIL   Вверх
DjRoot
Дата 9.11.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Просто, видимо, где-то невнимательно на сервере извлекаешь.

Да вот опять чоткой взглядом пересмотрел код, косяков не нашел. Поидее должно работать, а не работает :(
Вот кусок кода который это чудо обрабатывает:
Код

    if(empty($_GET['username']) AND empty($GET['pass']))
    {
        $_RESULT['text'] = 'Логин или пароль пустые..';
    }
    else
    {
        if(!empty($_SESSION['id']))
        {
            $_RESULT['text'] = 'Loading...';
        }
        else
        {
            $username = strtoupper(addslashes($_GET['username']));
            $password = strtoupper(addslashes($GET['pass']));
            $sha_pass = sha_password($username,$password);

            $id = $DB->selectCell("SELECT id FROM account WHERE username=? AND sha_pass_hash=?", $username, $sha_pass);
            if(empty($id))
            {
                $_RESULT['text'] = 'Неправильный логин или пароль';
            }
            else
            {
                $_RESULT['text'] = 'Loading...';
                $_SESSION['id'] = $id;
            }
        }
    }


Цитата

будет выполняться всегда, так как значения никак не равны undefined или даже null, если значения не введены, то будет просто пустая строка "", поэтому поменяй условие для проверки.

Хм, у меня браузер адекватно реагировал на условие. Пробывал на Опере, Огнелисе. Но все равно спасибо, учту на будующее smile

Цитата

Ну и общая оценка: кто ж авторизацию делает GET-запросом? - Неосмотрительно. 

Это я пока что для тренировок. А потом обязательно POST будет smile
PM MAIL   Вверх
brother79
Дата 10.11.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(IDVsbruck @  9.11.2009,  19:39 Найти цитируемый пост)
будет выполняться всегда, так как значения никак не равны undefined или даже null, если значения не введены, то будет просто пустая строка "", поэтому поменяй условие для проверки.



А резве на пустую строку if проходит?


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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