Php 如何从多个表单中提交每个表单

Php 如何从多个表单中提交每个表单,php,jquery,Php,Jquery,我正在尝试建立一个朋友请求系统。我有注册用户,这些用户通过添加按钮进行响应,每个用户都有一个表单,当用户创建帐户时,该表单会自动创建。我的问题是如何提交每份表格?现在,当提交这个用户添加按钮时,它将只提交数据库中第一个用户的表单,即使添加按钮是针对4或5个用户的 index.php <div class="users_b"> <?php include 'db.php'; $sq = "select * from alert_users_a

我正在尝试建立一个朋友请求系统。我有注册用户,这些用户通过添加按钮进行响应,每个用户都有一个表单,当用户创建帐户时,该表单会自动创建。我的问题是如何提交每份表格?现在,当提交这个用户添加按钮时,它将只提交数据库中第一个用户的表单,即使添加按钮是针对4或5个用户的

index.php

<div class="users_b">
     <?php
     include 'db.php';

        $sq = "select * from alert_users_account";
        $query = mysqli_query($con,$sq);
        while($row = mysqli_fetch_assoc($query)){

     ?>
     <div class="user_dis_p" id="user<?php echo $row['id']?>">
     <div id="user_img"><a href="alert_profile.php?id=<?php echo $row['id']?>"><img src="alert<?php echo $row['photo']; ?>">
     </a></div> <div id="user_fs">
     <a href="alert_profile.php?id=<?php echo $row['id']?>">
     <?php  echo $row['firstname']." "." "." "." ".$row['surname'];?></a><form id="upload_file_f">
     <input type="text" name="friend_id" id="friend_id" value="<?php echo $row['id']?>" readonly>
     <input type="submit" value="submit">
    </form>
</div>
</div>

<script>
$(document).ready(function(e){
$("#upload_file_f").on("submit",function(e){
e.preventDefault();

$.ajax({
   type: "post",
   url:"request.php",
   data:new FormData(this),
   contentType:false,
   processData:false,
   cache:false,
   success: function(data){
   $("#msg").html(data);
   }

});

});

});
</script>

如果你有

<form id="upload_file_f"  ...

<form id="upload_file_f"  .... '
嗯,你不能期望表单工作,因为ID应该是唯一的。您必须有一个真正唯一的表单Id,或者使用一个类,比如jquery选择器,而不是重复使用Id

 $("form").on( "submit", ....

   //// $(this) within the on callback refers to the match of the selector that was clicked.
如果您在表单回调中查看,则没有对ID的依赖关系

 <form class="myfrom" ....
应该行得通。唯一接近依赖项的部分是

$("#msg").html(data);
同样地,这可能是一个类(
.msg
),例如,然后您只需执行如下操作

$(".myform").on("submit",function(e){
    e.preventDefault();

    var that = $(this); //ajax scope placeholder

    $.ajax({
       type: "post",
       url:"request.php",
       data:new FormData(this),
       contentType:false,
       processData:false,
       cache:false,
       success: function(data){
            that.find(".msg").html(data);
       }

    });
});

问题是您的表单都具有相同的ID:

使用

然后在下面:

<script>
$(document).ready(function(e){
$(".upload_file_f").on("submit",function(e){
e.preventDefault();

$.ajax({
   type: "post",
   url:"request.php",
   data:new FormData(this),
   contentType:false,
   processData:false,
   cache:false,
   success: function(data){
   $("#msg").html(data);
   }

});

});

});
</script>

$(文档).ready(函数(e){
$(“.upload_file_f”)。在(“提交”,函数(e){
e、 预防默认值();
$.ajax({
类型:“post”,
url:“request.php”,
数据:新表单数据(本),
contentType:false,
processData:false,
cache:false,
成功:功能(数据){
$(“#msg”).html(数据);
}
});
});
});
不过,一个更简单的解决方案是创建一个函数并用按钮调用它:

<button onclick="add_friend(<?php echo $friend_id; ?>)" />

每个用户都有一个在用户创建帐户时自动创建的表单
我只看到一个表单
是的,我只是粘贴了它,因为所有表单都有相同的id,但是当我尝试用php提供不同的id时,我不知道如何调用该id,因为用户仍然需要注册才能进入堆栈溢出!我强烈推荐阅读,尤其是“拼写、语法和格式”部分。我已经更正了这篇文章,并修复了一些常见错误,但在以后的文章中,阅读这篇文章将大大有助于为未来的访问者制作高质量的文章。这部分
我不知道如何调用该id
你在javascript中的意思是什么?如
事件中的
。这是表单的外观。在这行函数中添加朋友(朋友id)朋友id的工作是什么parameter@alert您可能想执行

<script>
$(document).ready(function(e){
$(".upload_file_f").on("submit",function(e){
e.preventDefault();

$.ajax({
   type: "post",
   url:"request.php",
   data:new FormData(this),
   contentType:false,
   processData:false,
   cache:false,
   success: function(data){
   $("#msg").html(data);
   }

});

});

});
</script>
<button onclick="add_friend(<?php echo $friend_id; ?>)" />
<script>
function add_friend(friend_id) {

    $.ajax({
        type: "post",
        url:"request.php",
        data: {
            id: friend_id
        },
        contentType:false,
        processData:false,
        cache:false,
        success: function(data){
            $("#msg").html(data);
        }

    });

});
</script>