使用php中的选择框添加隐藏输入的用户

时间:2012-10-07 01:26:40

标签: php mysql arrays

我正在尝试允许用户通过选择框在表单上添加其他用户。因此,用户可以从下拉列表中选择另一个用户,按添加用户,然后将它们添加到阵列中。用户可以选择另一个用户,并且应该将第二个用户添加到此阵列。现在,每次添加用户时原始用户都会消失。我尝试使用隐藏的输入,但我没有运气。

on formprocessing.php

 //this generates a list of users. The code to actually generate the users is omitted
 <center><h3>Invite Friends</h3></center><br>
     <form method="post">
     <tr><td>Friends:</td><td><select name ="friend"><Option value="">Friends<? echo $selection; ?></Select></td>
     <input type="hidden" name="hiddenFriends" value="<? echo $friends; ?>"/>
     <td><input type="submit" name="submitFriend" value="Add Friend"/>
     </form>

在form.php上

//i'm trying to create an array of users which are added. When completed, they'll be added to the db
<?
if(isset($_POST['submitFriend'])){
    if(count($_POST['hiddenFriends']) > 0){
        $friend = $_POST['friend'];
        array_push($friends,$_POST['friend']);
    }
    else{
        $friends = array('');
        array_push($friends,$_POST['friend']);
    }
}
?><input type="hidden" name="hiddenFriends" value="<? echo $friends; ?>"/><?
print_r($friends);

?>

1 个答案:

答案 0 :(得分:2)

你试图将PHP数组添加到html输入中。其不可能

但不要担心你可以使用爆炸和内爆功能。

<?
$friends = array();
if(isset($_POST['submitFriend'])){

    if(strlen($_POST['hiddenFriends']) > 0){
        $friends = explode(',',$_POST['hiddenFriends']);                
    }    
    $friends[] = $_POST['friend'];
}
?>
<input type="hidden" name="hiddenFriends" value="<? echo implode(',',$friends); ?>"/>