POST不抓取所有表单变量

时间:2017-11-02 20:11:03

标签: javascript php html post mysqli

试图找出我的代码不会通过所有POST数据发送的原因。代码在主页面上使用,以获取存储在db中的请求信息,并在单独的页面上使用,以便将我发送到DB的状态更新发布。除变量名外,它基本相同。

注意:我在这里搜索了很多。我使用了var_dump,它只显示数组中的“内容”数据。我对js不太满意,但可以遵循一些。因此,下面的代码是我在一个页面上编辑和测试的模板,然后尝试扩展到另一个页面。这就是问题所在。我不确定为什么它适用于一个而不是另一个。抱歉,如果这被认为是任何事情的重复,但我没有在类似的帖子中找到一个很好的答案来解释原因。 admin.php的:

<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:

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等:

Array ( [content1] => sass )
C:\wamp64\www\post\insert.php:32:
 array (size=1)
'content1' => string 'sass' (length=4)

1 个答案:

答案 0 :(得分:2)

向表单添加id属性,然后在表单上使用serialize()将表单中的所有数据通过ajax传递给php

<form id='formid'>


$.ajax({
data: $('#formid').serialize(),
//other Ajax stuff 

});