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