<form method="post">
<select name="box[]">
<option value="1" <?php if ($_POST['box[0]'] == "1") echo "selected=\"selected\";"?>>1</option>
<option value="2" <?php if ($_POST['box[0]'] == "2") echo "selected=\"selected\";"?>>2</option>
<option value="3" <?php if ($_POST['box[0]'] == "3") echo "selected=\"selected\";"?>>3</option>
</select>
<p>
<select name="box[]">
<option value="1" <?php if ($_POST['box[1]'] == "1") echo "selected=\"selected\";"?>>1</option>
<option value="2" <?php if ($_POST['box[1]'] == "2") echo "selected=\"selected\";"?>>2</option>
<option value="3" <?php if ($_POST['box[1]'] == "3") echo "selected=\"selected\";"?>>3</option>
</select>
<p>
<input type="submit" value="Submit">
</form>
当我使用框名“box1”和“box2”时,它没有问题。我做错了什么?
** * ** * 编辑 * ** * ****
非常感谢您的评论,但我实际上自己找到了解决方案,即使它没有多大意义。我没有在if语句中使用$ _POST ['box'] [0]和[1],而只使用$ box [0]和[1]。即使它已发布,显然php将其视为普通数组,而不是某种$ _POST数组!工作代码:
<form method="post">
<select name="box[]">
<option value="1" <?php if ($box[0] == "1") echo "selected='selected'";?>>1</option>
<option value="2" <?php if ($box[0] == "2") echo "selected='selected'";?>>2</option>
<option value="3" <?php if ($box[0] == "3") echo "selected='selected'";?>>3</option>
</select>
<p>
<select name="box[]">
<option value="1" <?php if ($box[1] == "1") echo "selected='selected'";?>>1</option>
<option value="2" <?php if ($box[1] == "2") echo "selected='selected'";?>>2</option>
<option value="3" <?php if ($box[1] == "3") echo "selected='selected'";?>>3</option>
</select>
<p>
<input type="submit" value="Submit">
</form>
答案 0 :(得分:3)
尝试使用$_POST['box'][0]
和$_POST['box'][1]
;)由于它们是作为数组发布的,因此您需要将它们作为数组进行处理。
答案 1 :(得分:0)
两者都有相同的名称。那就是问题所在。
$_POST['box[0]']
,$_POST['box[1]']
,包含两个元素的数组,而不是它自身的值。
答案 2 :(得分:0)
非常感谢您的评论,但我实际上自己找到了解决方案,即使它没有多大意义。我没有在if语句中使用$ _POST ['box'] [0]和[1],而只使用$ box [0]和[1]。即使它已发布,显然php将其视为普通数组,而不是某种$ _POST数组!工作代码:
<form method="post">
<select name="box[]">
<option value="1" <?php if ($box[0] == "1") echo "selected='selected'";?>>1</option>
<option value="2" <?php if ($box[0] == "2") echo "selected='selected'";?>>2</option>
<option value="3" <?php if ($box[0] == "3") echo "selected='selected'";?>>3</option>
</select>
<p>
<select name="box[]">
<option value="1" <?php if ($box[1] == "1") echo "selected='selected'";?>>1</option>
<option value="2" <?php if ($box[1] == "2") echo "selected='selected'";?>>2</option>
<option value="3" <?php if ($box[1] == "3") echo "selected='selected'";?>>3</option>
</select>
<p>
<input type="submit" value="Submit">
</form>