ошибка в запросе (Ajax)

Discussion in 'PHP' started by Leila, 25 Feb 2011.

  1. Leila

    Leila New Member

    Joined:
    24 Feb 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Привет, яваскриптеры. Прошу помочь с кодом, если не трудно.
    Итак, инпут из html файла, в который юзер вводит login. js функция вызывается по событию onblur:
    Код HTML:
    Code:
    <input type="text" name="login" id="login" style="margin-left: 28px" onblur="checkLog();"/>
    Ф-я checkLog() и обработчик запроса check_response() представлены ниже. Параметр log_data, который передается в первую функцию формирую по событию window.onload. Код ниже.

    PHP:
    function checkLog(log_data) { if (req2) { req2.onreadystatechange check_responsereq2.open("POST""scripts/check.php"true); req2.setRequestHeader("Content-Type""application/x-www-form-urlencoded"); req2.send(log_data); return true; } else {return false;} } function check_response() { if (req2.readyState == 4) { if(req2.status == 200 || req2.status == 304) { var response document.getElementById("log"); response.innerHTML req2.responseTextgotovim_form(); } else { alert("Not correct request!"); } } }
    По событию window.onload формирую переменную log_data:

    PHP:
    window.onload gotovim_form; function gotovim_form() { req2 getXmlHttp(); if (!document.getElementById("form1")) { return; } document.getElementById("form1").onblur = function() { var log_data ""log_data+= this.elements[0].namelog_data+= "="log_data+= escape(this.elements[0].value); log_data+= "&"; return !checkLog(log_data); }; }
    До сервера стучусь, кажется запрос в порядке. Текст check.php:

    PHP:
    <?php $login $_POST['login']; require_once 'config.php'$link = @mysql_connect($config['mysql_host'].":".$config['mysql_port'], $config['mysql_login'], $config['mysql_password']) or die ($server['errorText']); @mysql_select_db($config['mysql_db'], $link) or die ('Найти базу с таким именем не удалось!'); error_reporting(0); Header("Content-Type: text/javascript; charset=windows-1251"); mysql_query ("set character_set_client='cp1251'"); mysql_query ("set character_set_results='cp1251'"); mysql_query ("set collation_connection='cp1251_general_ci'"); if ($login) { echo "yeah"; echo $login; } else { echo "no"; echo $login; } ?>
    Проблема в том, что независимо от количества символов в инпуте всегда выдается no, т.е. не приходит переменная login из пост запроса. Подскажите, пожалста, в чем проблема. Почти аналогичный скрипт для регистрации по событию submit работает нормально.
     
  2. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    Как думаешь удобно разбирать такой код?
    Переведи в человеческий вид.