Показать сообщение отдельно
  #7 (permalink)  
Старый 21.06.2011, 23:21
Аспирант
Отправить личное сообщение для DmitryT Посмотреть профиль Найти все сообщения от DmitryT
 
Регистрация: 19.02.2011
Сообщений: 53

Получилось вот что, когда я "искалечил" свой аджакс у меня продолжал работать пхп, это наверно неплохо для тех пользователей у которых отключен js, вроде страховки, но как теперь отловить где начинается аджакс, а где пхп, есть в пхп файле одно условие для записи сообщения в базу
if(!empty($_POST["nm"]) && !empty($_POST["txt"]) && $_POST["subm"] == 'go')
{
    $query = "insert into message set userName='{$_POST["nm"]}',text='{$_POST["txt"]}'";
    mysql_query($query) or die("Query failed : ".mysql_error());     
}

пытаюсь вставить в if еще одно условие проверку на аджакс: isset($_SERVER['HTTP_X_REQUESTED_WITH'])
и тогда сообщение перестает приходить в базу. Подскажите как проверить что данные на сервер пришли с аджаксом. Это функция аджакса
function doLoad()
  {
      mess = document.getElementById('message');
      mess.innerHTML = "<img src='images/upload.gif' width='32' height='8'><br><p>Ваш комментарий обрабатывается...</p>";
      var xmlhttp = getXmlHttp();
      var path = "ajaxPHP.php";
      var data = 'nm=' + encodeURIComponent(document.getElementById('nm').value) + '&txt=' + encodeURIComponent(document.getElementById('txt').value) + 'ajax=' + true;
      //var data = 'http://localhost/student/ajaxJS.php';
      xmlhttp.open('post', path , true);
      xmlhttp.onreadystatechange = function()
      {
          if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
          {
              mess.innerHTML = xmlhttp.statusText; //alert(path);
          }
      }
      xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      xmlhttp.send(data);
  }
Ответить с цитированием