私のコードがすべてのPOSTデータを送信しない理由を理解しようとしています。このコードは、メインページで使用され、DBに格納されたリクエスト情報を取得し、別のページでDBのステータス更新をポストするために使用されます。変数名以外は基本的に同じです。POSTがすべてのフォーム変数を取得しない
注:私はここでたくさん検索しました。 Iveは配列内の 'content'データのみを表示するvar_dumpを使用しました。私は完全にjsで快適ではありませんが、いくつかの後に続くことができます。したがって、以下のコードは、別のページに拡張しようとする前に、1ページで編集してテストしたテンプレートです。問題がどこにあるか。私はなぜそれが1つではなく他のものではないのか分かりません。これが何かの重複とみなされている場合は謝罪しますが、理由を説明する同様の投稿では良い答えを見つけませんでした。 admin.php:それを呼び出す
if(isSet($_POST['content1'], $_POST['avatar']))
{
$content1=$_POST['content1'];
$avatar=$_POST['avatar']; // <--- comes back NULL
$sql_in= mysqli_query($con,"SELECT comment,comment_id,status_time FROM comments order by comment_id desc");
$r=mysqli_fetch_array($sql_in);
}
最後にpost.js:
$(function() {
$(".post_button").click(function() {
var element = $(this);
var test = $("#content1").val();
var dataString = 'content1='+ test;
if(test=='')
{
alert("Please Enter Some Text");
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<span class="loading">Loading Comment...</span>');
$.ajax({
type: "POST",
url: "insert.php",
data: dataString,
cache: false,
success: function(html){
$("#display").after(html);
document.getElementById('content1').value='';
$("#flash").hide();
}
});
}
return false;
});
});
のvar_dumpなど:
ここ<form action="insert.php" method="post" enctype="multipart/form-data">
<div class="share">
<div class="arrow"></div>
<div class="panel panel-default">
<div class="panel-body">
<div class="">
<img src="../logo.png" style="height:60px; width:60px; float:left; margin-right:3px;" />
<textarea name="content1" id="content1" cols="40" rows="10" class="form-control message" style="height: 60px; width:450px; overflow: hidden;"></textarea>
</div>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-md-7">
<div class="form-group">
<div class="btn-group">
<select name="avatar" id="avatar" class="form-control-issue-avatar"> <----whats not sending
<option value="0" selected="selected">Author</option>
<option value="per1">P</option>
<option value="per2">W</option>
</select>
</div>
</div>
</div>
<div class="col-md-5">
<input type="submit" value="Post" class="post_button">
</div>
</div>
</div>
</div>
</form>
はinsert.phpです
Array ([content1] => sass)
C:\wamp64\www\post\insert.php:32:
array (size=1)
'content1' => string 'sass' (length=4)
をPHPにAJAXを経由して渡すようにフォームからすべてのデータを取得するために、フォーム上の
serialize()
を使用あなたのJSで、データで送信されない、または私は何かが不足していますか? – BarryWalsh1つの変数のみを送信しています。なぜあなたは単に代わりにフォームをシリアル化しないでください – Akintunde007
私が理解しようとしているものです。 jsは最初のページで使用された関数と同じです。最初のページは、すべての部分(IEの電子メール、ユーザー名、問題のテキスト入力)を取得する問題はありません..私はヒントを持っていません。私は修正なしでquerySelectorAllを使うように編集しようとしました@BarryWalsh – wiggins3