我对php比较新。我想要做的是复制一个你可以订购披萨的页面。但是,我在从多选菜单打印输出时遇到问题。当我执行PHP时,它只显示“数组”,而不是所有选择的选项。我希望它能说出所有的选择。这是HTML:
<p>Select which cheese you want on your pizza:</p>
<select size="4" name="Cheese[]" multiple required>
<option value="Mozzarella">Mozzarella</option>
<option value="Parmesan">Parmesan</option>
<option value="Gouda">Gouda</option>
<option value="Provolone"> Provolone</option>
</select>
这是我的PHP,我将表单提交给:
<tr>
<? foreach ($submitted_form_data as $key=>$value) { ?>
<td><?=$value?> </td>
<? } ?>
</tr>
</table>
我的目标是能够将所有选定的项目打印到一行。对于有多个选择的那些,我希望它们也被列出。 输出显示如下:
pizza mushroom cheddar John Smith Smith@email.com地址
答案 0 :(得分:0)
您总是可以通过执行
来查看数组中的内容print_r($array_name);
一旦你有了它,它将帮助你理解输出是什么。
你不需要密钥,因为我们已经知道它的奶酪,所以用POST获得输出然后使用下面的代码就没问题。
foreach ($array as $cheese) {
echo $cheese;
}
答案 1 :(得分:0)
我强烈建议在此处将HTML保留在PHP代码中以便于阅读:
<tr>
<?php
foreach ($submitted_form_data as $val) {
echo "<td>",$val,"</td>",PHP_EOL;
}
?>
</tr>
如果您对阵列的内容感到好奇,请使用:
var_dump($submitted_form_data);
答案 2 :(得分:0)
$ _ POST [&#39; Cheese&#39;]是一个数组,根据您选择的奶酪数量,您需要通过$ _POST [&#39; Cheese&#39;] [0]访问它们, $ _POST [&#39;奶酪&#39;] [1]等。
考虑一下:
<p>Select which cheese you want on your pizza:</p>
<form name="pizza" method="post">
<select size="4" name="Cheese[]" multiple required>
<option value="Mozzarella">Mozzarella</option>
<option value="Parmesan">Parmesan</option>
<option value="Gouda">Gouda</option>
<option value="Provolone"> Provolone</option>
</select>
<input type="submit" value="oh boy!" />
</form>
<?php
if( isset( $_POST ) ) {
echo 'I want ' . implode( ', ',$_POST['Cheese'] ) , ' on my pizza!';
}
?>