2

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

关于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);

?>
4

1 回答 1

2

伙计,您试图将 PHP 数组添加到 html 输入中。这是不可能的。

但不要担心你可以使用explode 和implode 函数。

<?
$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); ?>"/>
于 2012-10-07T01:35:28.603 回答