私のコードに問題があります。私はデータベースに広告を送るアップロード機能を作ろうとしています。それは単純なイメージを含んでいます。ここに私の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">×</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);
しかし、私はそれを動作させることはできません。私は間違って何をしていますか?それを修正するために私は何ができますか?
こんにちは、 '$ cf = $ _POST ['cf'];でデバッグできるはずです。 //画像ファイル $ category = $ _POST ['category']; //カテゴリ mysqli_query($ conn、 "INSERT INTO"。$ category。 "VALUES("。$ cf。 ")"); // Query'は各値を静的な値に変更して、フォームが正しくポストしているかどうかをチェックします。 – Ponilz