2017-06-20 67 views
0

我正在建立一个朋友请求系统,但我的问题是如何获取每个用户的值,这是我的代码中的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方法,但二者之间仍然给出相同的反馈

回答

0

看样子你将需要重写某些你的代码方面。这里是我的解释:

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