让我进一步解释。我在我的第一个php页面上有一个选择表单(让我们先调用这个页面.php)。我有一个提交按钮。我正在使用$ _POST在第二页(让这个页面为sec.php)上捕获数组,然后将其设置为PHP变量。但是,我无法打印出来。这是我的代码/标记在first.php上的样子
<label>Product:</label>
<select name="arr[]">
<option value="Mobile">Mobile</option>
<option value="Social">Social</option>
<option value="Online">Online</option>
</select>
注意=我知道我不需要有一个数组。但我想保持这种方式。
这是我的代码在sec.php上的样子:
<?php
$arr= $_POST['arr'];
?>
我希望它在此HTML表格中打印:
<tr>
<td width="200"> <?php echo $url[0]; ?></td>
<td width="200"> <?php echo $sMonth[0] . "/" . $sDay[0] . "/" . $sYear[0]; ?></td>
<td width="200"> <?php echo $eMonth[0] . "/" . $eDay[0] . "/" . $eYear[0]; ?></td>
<td> <?php echo $tBudget[0]; ?></td>
<td> <?php echo $dBudget[0]; ?></td>
<td> <?php echo $model[0]; ?></td>
<td> <?php echo $bid[0]; ?></td>
<td> <?php echo $target[0]; ?></td>
<td> <?php echo $status[0]; ?></td>
<td width="200"> <?php echo $arr[0]; ?></td>
<td> <?php echo $tUnits[0]; ?></td>
</tr>
注意=所有其他变量和值只打印FINE(使用与$ arr变量相同的方法和概念)但只有$ arr变量无法打印)。
我做错了什么?
答案 0 :(得分:1)
更改
<select name="arr[]">
...
<td width="200"> <?php echo $arr[0]; ?></td>
到
<select name="arr">
...
<td width="200"> <?php echo $arr; ?></td>
当您拥有多个选择选项
时,仅想要使用array naming
答案 1 :(得分:0)
实际上,它可能是这样的:
<select name="arr[]" multiple>
<option value="Mobile">Mobile</option>
<option value="Social">Social</option>
<option value="Online">Online</option>
</select>
答案 2 :(得分:0)
你需要使用for循环来获取数组中的值,请检查
<form action="<?php echo @$_SERVER['PHP_SELF'];?>" method="POST">
<select name="arr[]" multiple>
<option>Radio</option>
<option>TV</option>
<option>Keyboard</option>
<option>DVD Player</option>
<option>Screen</option>
</select>
<input type="submit" value="GO!">
</form>
<?php
$data=@$_POST['arr'];
$len = count($data); // getting length of ur array that u need to condition ur loop
for($y=0;$y<$len;$y++){
echo "$data[$y]"."<br />";
}
?>