2015-11-02 57 views
-3

我创建了一个添加用户按钮,但是当同一页面上有多个用户时,他们都会在点击时添加。添加朋友按钮PHP/SQL

下面是代码:

$ data_emails是包含用户的电子邮件的阵列。

<?php 
    for ($i = 0; $i < count($data_emails); $i ++) { 
     echo $data_emails[$i] . ' ' . $data_usernames[$i] . '<br />'; 
     $email2 = $data_emails[$i]; 
     $contact = $data_usernames[$i]; 
     if (relationship_exists($email, $email2) === false) { 
    ?>    
    <form action="" name="add_user" method="POST"> 
    <input type="submit" name="add_user" value="Add user" /> 
    </form> 
    </div> 
    <?php 
      } 
      if (isset($_POST['add_user'])) 
      create_relationship($email, $email2, $contact);             
    } 
    ?> 
+0

为什么被标记为Javascript? – Carlos2W

+3

你至少需要向我们展示你的'insertUser'函数 – WOUNDEDStevenJones

回答

0

这里的问题是你在循环中的一切。所以它是这样运作的。尝试下面的代码。

<?php 
    for ($i = 0; $i < count($data_emails); $i ++) 
    { 
     echo $data_emails[$i] . ' ' . $data_usernames[$i] . '<br />'; 
     $email2 = $data_emails[$i]; 
     $contact = $data_usernames[$i]; 
     if (relationship_exists($email, $email2) === false) 
     { 
      ?>    
      <form action="" name="add_user" method="POST"> 
       <input type="hidden" name="email" value="<?php echo $email?>"> 
       <input type="hidden" name="email2" value="<?php echo $email2?>"> 
       <input type="hidden" name="contact" value="<?php echo $contact?>"> 
       <input type="submit" name="add_user" value="Add user" /> 
      </form> 
     </div> 
    <?php 
     } 
    } 

    if (isset($_POST['add_user'])) 
    { 
     $email = mysqli_real_escape_string($conn, $_POST['add_user']); 
     $email2 = mysqli_real_escape_string($conn, $_POST['email2']); 
     $contact = mysqli_real_escape_string($conn, $_POST['contact']); 

     create_relationship($email, $email2, $contact); 
    }   
?>