bugfix> php > 投稿

次のコードは、送信ボタンをクリックして複数の選択を出力しようとしているファイルのHTMLです。

<form id="eg6b" action="example-6.php" method="post">
     <p>
    <label for="sport">Favourite sport: </label>
    <select id="sport" name="favsport []" size="4" multiple>
        <option value="soccer">Soccer</option>
        <option value="cricket">Cricket</option>
        <option value="squash">Squash</option>
        <option value="golf">Golf</option>
        <option value="tennis">Tennis</option>
        <option value="basketball">Basketball</option>
        <option value="baseball">Baseball</option>
    </select>

     <input type="submit" value="submit"></p>
 </form>

次のコードは、複数のスポーツを取得するためのPHPファイルです。

<?php
      foreach($_POST["favsport"] as $val) {
         echo "<p>You chose $val </p>";
      }
  ?>

エラーが見つかりません。このコードを実行すると、 the favsport is undefined and that the argument supplied to the foreach loop is invalid というエラーが表示されます 。私はそれをたくさん台無しにしていますが、今は疲れています。

回答 2 件
  • favsport [] を変更   favsport[] へ 。

    <!DOCTYPE html>
          <html>
          <head>
            <title></title>
          </head>
          <body>
        <form id="eg6b" action="test.php" method="post">
             <p>
            <label for="sport">Favourite sport: </label>
            <select id="sport" name="favsport[]" size="4" multiple>
                <option value="soccer">Soccer</option>
                <option value="cricket">Cricket</option>
                <option value="squash">Squash</option>
                <option value="golf">Golf</option>
                <option value="tennis">Tennis</option>
                <option value="basketball">Basketball</option>
                <option value="baseball">Baseball</option>
            </select>
    
             <input type="submit" value="submit"></p>
         </form>
          </body>
          </html>
        <?php
              foreach($_POST["favsport"] as $val) {
                 echo "<p>You chose $val </p>";
              }
          ?>
    
    

  • あなたは私が以下のようにあるのを見ることができる限り、タイプミスはほとんどありません

    <select id="sport" name="favsport []" size="4" multiple>

    上記の行を次の行に置き換えます

    <select id="sport" name="favsport[]" size="4" multiple>

    エラー: エラーは名前属性にあり、次のような余分な空白があります

    name="favsport**here you having one space** []"  そして、それは name="favsport[]" のようでなければなりません  。

    これで問題が解決することを願っています。 :)

あなたの答え