2016-06-24 16 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)はもはや動作しないので、私はそれを自分のオンラインWebサーバーにアップロードし、視覚で再生しています。エラーやデバッグ情報は表示されません。

フォームタグが削除されるように、これは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'は各値を静的な値に変更して、フォームが正しくポストしているかどうかをチェックします。 – 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

ああ大丈夫です、そしてAjaxも正しいですか? –

+0

私はそれにエラーがない、名前を追加して、あなたのデータベースを更新するかどうかを確認してください、そうでない場合は、クエリが上記のコメントで更新されていることを確認してください、少なくともこれは問題を引き起こしているPHPではありません。 – Ponilz

+0

また、画像は私の質問の権利で入力されますか?私は通常、イメージをBLOBにアップロードしません。出力するだけです。 –

関連する問題