Не понимаю в чем проблема AJAX

168
25 апреля 2018, 05:15

С input'ов пытаюсь отправить данные в MYSQL. Взял пример с книги "PHP7 в подлиннике", до внесения изменений :) , а именно добавил занесение номера телефона, все работало. Вроде все точно так же дописал как по примеру, но теперь вообще не работает.

<?php
 // Устанавливаем соединение с базой данных
 require_once("connect.php");
 try {
 // 1. Проверяем, переданы ли POST-параметры;
 // если ответ положительный, помещаем новое
 // сообщение в базу данных
 if(!empty($_POST))
 {
 $error = [];
 if(empty($_POST['nickname'])) {
 $error[] = "Отсутствует автор";
 }
  // phone
  if(empty($_POST['phone'])) {
  $error[] = "Отсутствует номер телефона";
  }
  //
 if(empty($_POST['content'])) {
 $error[] = "Отсутствует сообщение";
 }

 // Если нет ошибок, помещаем сообщение
 // в базу данных
 if(empty($error))
 {
 $query = "INSERT INTO
 comments
 VALUES (
 NULL,
 :nickname,
 :phone, --phone
 :content,
 NOW(),
 1)";
 $usr = $pdo->prepare($query);
 $usr->execute([
 'nickname' => $_POST['nickname'],
 'phone' => $_POST['phone'], //phone
 'content' => $_POST['content']
 ]);
 }
 }
  } catch (PDOException $e) {
 echo "Ошибка выполнения запроса: " . $e->getMessage();
 }

< script src = "http://code.jquery.com/jquery-3.3.1.min.js" > < /script> < 
  script type = "text/javascript" > 
  // Назначить обработчики события click 
  // после загрузки документа 
  $(document).ready(function() { 
    $("#submit-id").on("click", function() { 
      // Проверяем корректность заполнения полей 
      if ($.trim($("#nickname").val()) === "") { 
        alert('Пожалуйста, заполните поле "Автор"'); 
        return false; 
      } 
      // phone 
      if ($.trim($("#phone").val()) === "") { 
        alert('Пожалуйста, заполните поле "Телефон"'); 
        return false; 
      } 
      // phone 
      if ($.trim($("#content").val()) === "") { 
        alert('Пожалуйста, заполните поле "Сообщение"'); 
        return false; 
      } 
 
 
 
 
      // Блокируем кнопку отправки 
      $("#submit-id").prop("disabled", true); 
      // AJAX-запрос 
      $.ajax({ 
        url: "addcom.php", 
        method: 'post', 
        data: { 
          nickname: $("#nickname").val(), 
          phone: $("#phone").val(), //phone 
          content: $("#content").val() 
        } 
      }).done(function(data) { 
        // Успешное получение ответа 
        $("#info").html(data); 
        $("#submit-id").prop("disabled", false); 
      }); 
    }) 
  }); < 
/script>
<div class="order"> 
  <div id='info'> 
    <?php 
                require_once("addcom.php"); 
               ?> 
  </div> 
  <div id='form' class="order_list"> 
    <p> 
      <span class='ttl'>ФИО<span style="color:red;">*</span></span> 
      <span class='fld'> 
               <input id='nickname' type='text' placeholder="Иванов Иван Иванович" class="field" /> 
               </span> 
    </p> 
 
    <p> 
      <span class='ttl'>Телефон<span style="color:red;">*</span></span> 
      <span class='fld'> 
               <input id='phone' type='text' placeholder="" class="field" /> 
               </span> 
    </p> 
 
    <p> 
      <span class='ttl'>Сообщение<span style="color:red;">*</span></span> 
      <span class='fld'> 
               <!-- <textarea rows='3' id='content' type='text'></textarea> --> 
               <input id='content' type='text' placeholder="Любое Ваше пожелание" class="field" /> 
               </span> 
    </p> 
    <p> 
      <!-- <span class='ttl'>&nbsp;</span> --> 
      <span class='fld'> 
               <input id='submit-id' type='submit' value='Отправить' class="btn_field"/> 
               </span> 
    </p> 
  </div> 
</div>

Answer 1

Вам стоит заглянуть в так называемые "Инструменты разработчика" (обычно клавиша F12) браузера, в котором во вкладке Сеть (Network) вы увидите какие данные AJAX отправляет серверной части (php) и что в ответ получает. Также стоит проверить вкладку Консоль (Console), в которой можно увидеть ошибки JS при инициализации страницы. Если вы сообщите ошибки станет сразу ясно в чем дело, так что в путь =)

Answer 2

И так, я понял что я лютый программист, который не умеет ставить комментарии к коду, все было абсолютно рабочим, мне 2 дня жизни убил комментарий к коду.

Всем спасибо, все свободны, пойду плакать.

READ ALSO
Вывод значения по ключу в ассоциативном массиве

Вывод значения по ключу в ассоциативном массиве

Необходимо в ассоциативном массиве вывести значение по ключу:

163
как принять ID и Value из радио кнопки?

как принять ID и Value из радио кнопки?

как принять ID и Value из радио кнопки?

161
Не открывается админка сайта на локалке (wordpress)

Не открывается админка сайта на локалке (wordpress)

Скачала проект с хостинга на локальную машину(для модернизации), развернула проект, пользовательская часть работает без проблем, но после...

143
Не могу разобраться как сделать разные стили двум разным шапкам (Wordpress)

Не могу разобраться как сделать разные стили двум разным шапкам (Wordpress)

У меня есть 2 страницы и на каждой из них есть своя шапка2 разные шапки я могу вызвать с помощью <?php get_header('2'); ?> и я вызову таким образом header-2

163