2017-10-10 14 views
0

私は比較的新しいPHPです。私がしようとしているのは、ピザを注文できるページを複製することです。しかし、私はマルチ選択メニューからの出力を印刷するのに問題があります。 PHPを実行すると、選択したすべての選択肢の代わりに「配列」としか表示されません。私はそれがすべての選択肢を言うことを望む。ここではHTMLれる:PHPで配列を出力する

<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> 

は、私の目標は、1行にプリントアウトし、選択したすべてのアイテムを持ってできるようにすることです。複数の選択肢があるものについては、それらもリストされています。 出力は次のように表示されるでしょう:

ピザキノコチェダージョン・スミス[email protected]

+0

コード全体を送信できますか?

タグを含む? –

答えて

0

アドレスあなたがしたらあなたはいつも

print_r($array_name); 

を行うことによって、アレイに何があるか見て始めることができます出力が何であるかを理解するのに役立ちます。

私たちは既にチーズを知っているので、POSTで出力を取得してから、以下のコードを使用すると問題はありませんので、キーは必要ありません。

foreach ($array as $cheese) { 
    echo $cheese; 
} 
0
私は非常に読みやすくするため、ここでのPHPコード内のHTMLを維持することをお勧めします

<tr> 
<?php 
foreach ($submitted_form_data as $val) { 
    echo "<td>",$val,"</td>",PHP_EOL; 
} 
?> 
</tr> 

あなたは、配列の内容、利用興味がある場合:

var_dump($submitted_form_data); 
0

$ _POST ['Cheese']は配列です。あなたが選択したチーズの数に応じて、$ _POST ['Cheese'] [0]、$ _POST ['Cheese'] [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!'; 
    } 
    ?>