2016-06-24 6 views
0

У меня возникли проблемы с моим кодом. Я пытаюсь сделать функцию загрузки для отправки объявлений в базу данных. Он просто содержит изображение. Вот мой файл PHPНе удается отправить изображения на сервер Mysql

<?php 
    $servername = ""; //Taken out for stack overflow question 
    $username = ""; //Taken out for stack overflow question 
    $password = ""; //Taken out for stack overflow question 
    $dbname = ""; //Taken out for stack overflow question 

    $conn = mysqli_connect($servername, $username, $password, $dbname); 

    if (!$conn) 
    { 
     echo 'Could not connect'; 
    } 
    else 
    { 
     $cf = $_POST['cf']; //Image file 
     $category = $_POST['category']; //Category 
     mysqli_query($conn, "INSERT INTO".$category."VALUES(".$cf.")"); //Query 
    } 

    mysqli_close($conn); 
?> 

Если это синтаксис, имейте в виду, у меня нет возможности его отладить. Мой сервер на моем компьютере (xampp) больше не работает, поэтому я просто загружаю его на свой онлайн-сервер и играю в него. Он не показывает ошибок или отладочной информации.

Здесь моя «форма» сделана ajax, поэтому теги формы удаляются.

  <div class="modal fade chromeModal"> 
       <div class="modal-dialog"> 
        <div class="modal-content"> 
         <div class="modal-header"> 
          <button type="button" class="close" data-dismiss="modal">&times;</button> 
          <h2>Chrome form</h2> 
         </div> 
         <div class="modal-body"> 
          <div class="imgPreview"> 

          </div> 
         </div> 
         <div class="modal-footer"> 
          <div role="form" class="form-inline alignButtons"> 
           <div class="form-group"> 
            <label for="category"></label> 
            <select class="form-control" id="category"> 
             <option id="cat1">Food</option> 
             <option id="cat2">Software</option> 
             <option id="cat3">Hardware</option> 
             <option id="cat4">Home</option> 
             <option id="cat5">Outdoor</option> 
             <option id="cat6">Indoor activities</option> 
             <option id="cat7">Services</option> 
             <option id="cat8">Other</option> 
            </select> 
           </div> 
           <div class="form-group"> 
            <label class="btn btn-primary btn-file"> 
             Upload <input type="file" class="btn btn-primary" id="upload" name="cf" style="display:none;"> 
            </label> 
           </div> 
           <div class="form-group"> 
            <button type="button" class="btn-default" id="submit">Submit</button> 
           </div> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 

И, наконец, слушатели событий

chromeOnly.addEventListener("click", function() { 
    Notification.requestPermission(function(request) { 
     console.log(request); 
    }); 
    $(".chromeModal").modal('show'); 
    var chromeOnlyData = $('#upload').val(); 
    $.ajax({ 
     url: 'http://4lifeidiomas.com/smartlead/app/php/sendChrome.php', 
     type: 'POST', 
     data: chromeOnlyData, 
     success: function(data) 
     { 
      var chromeSent = new Notification('Smart Lead Advertisment', { 
       icon: 'http://4lifeidiomas.com/smartlead/app/logo.png', 
       body: 'Successfully sent to Google Chrome extension!' 
      }); 
     }, 
     error: function() 
     { 
      var chromeSentError = new Notification('Smart Lead Advertisment', { 
       icon: 'http://4lifeidiomas.com/smartlead/app/logo.png', 
       body: 'Error trying to send data to Google Chrome' 
      }); 
     } 
    }); 
}, false); 

Но я не могу заставить его работать. Что я делаю не так? Что я могу сделать, чтобы исправить это?

+0

Привет, вы должны уметь его отлаживать с помощью '$ cf = $ _POST ['cf']; // Файл изображения $ category = $ _POST ['category']; // Категория mysqli_query ($ conn, "INSERT INTO". $ Category. "VALUES (". $ Cf. ")"); // Query' изменяет каждое значение на статическое значение, чтобы проверить правильность POST-ввода. – Ponilz

ответ

-1

Кажется, что в вашей категории отсутствует переменная имени. Добавьте имя, чтобы идентифицировать его, чтобы ваш POST смог прочитать это.

<select class="form-control" name="category" id="category"> 
            <option id="cat1">Food</option> 
            <option id="cat2">Software</option> 
            <option id="cat3">Hardware</option> 
            <option id="cat4">Home</option> 
            <option id="cat5">Outdoor</option> 
            <option id="cat6">Indoor activities</option> 
            <option id="cat7">Services</option> 
            <option id="cat8">Other</option> 
           </select> 
+0

Хорошо, а Аякс тоже правильный? –

+0

Я не вижу ошибки с ним, попробуйте добавить имя и посмотреть, обновляет ли он вашу базу данных, если нет, подтвердите, что запрос обновляется с вышеуказанным комментарием, по крайней мере это гарантирует, что это не проблема php, вызывающая проблему. – Ponilz

+0

Также изображения будут введены с моим запросом правильно? Обычно я не загружаю изображения в BLOB, я просто их выводю. –

Смежные вопросы