如何在表单提交上获取每个输入值

时间:2017-06-20 15:32:23

标签: php sql ajax

我正在构建一个朋友请求系统,但我的问题是如何获取每个用户值,这是我的代码中的id,但是到目前为止,我只获得并返回第一个用户ID即使你试图添加其他朋友它只获得我的数据库中的第一个用户ID,请有人应该修复我的代码。

users.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">
         <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="f_form">
         <input type="text" name="friend_id" id="friend_id" value="<?php echo $row['id']?>">
         <input type="submit" id="add_user" value="ADD" onclick="return request()">
         </form>
         </div><?php }?>
         </div>
         </div>
         <div id="msg"></div>

<script>
function request(){
var frnd = document.getElementById("friend_id").value;
alert(frnd);
$.ajax({
   type:'get',
   url:'user_request.php',
   data:{
      frnd:frnd
   },
   cache:false,
   success: function(message){
   $("#msg").html(message);
   }

});
return false;
}
</script>

user_request.php

<?php
session_start();
include 'db.php';
if(isset($_SESSION['email'])){
$eml = $_SESSION['email'];
$sq = $con->prepare("select id from alert_users_account where email_phone=?");
$sq->bind_param('s',$eml);
$sq->execute();
$res = $sq->get_result();
$ro = $res->fetch_assoc();

$user =  $ro['id'];

if($_GET['frnd']){
   echo  $id = $_GET['frnd'];

$sql = $con->prepare("select * from alert_users_account where id=?");
$sql->bind_param('i',$id);
$sql->execute();
$result = $sql->get_result();
$row = $result->fetch_assoc();

$frnd = $row['id'];

$sql = $con->prepare("insert into friend (user_id,friend_id)values (?,?)");
$sql->bind_param('ss',$user,$frnd);
$sql->execute();
$sql->close();


echo "successfully inserted!";

}else{
echo 'error';

}
}else{
 echo 'you cant add a friend!';
}
?>

我也尝试使用post方法,但两者仍然提供相同的反馈

1 个答案:

答案 0 :(得分:0)

您似乎需要重写代码的某些方面。这是我的解释:

  1. 您正在使用while循环显示许多不同的表单元素,其ID为&#34; friend_id&#34;。
  2. 使用document.getElementById("friend_id"),您只能获得其中一个ID为&#34; friend_id&#34;的输入元素。
  3. 您可以在输入元素上使用class="friend_id"并从那里开始。