簡體   English   中英

(PHP) 如何在復選框中引用特定的數組值?

[英](PHP) How do i refer a specific array value in a checkbox?

如何引用復選框數組中的特定值? 我正在嘗試創建一個網頁,當用戶單擊一個或多個復選框時顯示回顯消息。

例子 :

網頁

[ ] 鋼筆

[x] 鉛筆

[x] 橡皮擦

[ ] 標尺

[提交按鈕]

輸出 :

  • 你需要鉛筆
  • 你需要橡皮擦

所以這就是我想出的:

HTML

    <form action="email.php" method="post">
  <input type="checkbox" name="options[]" value="pen"> pen <br>
  <input type="checkbox" name="options[]" value="pencil"> pencil <br>
  <input type="checkbox" name="options[]" value="eraser"> eraser <br>
  <input type="checkbox" name="options[]" value="ruler"> ruler <br>
  <input type="submit" name="submit" value="submit"> <br>
</form>

PHP

    <?php

$need = $_POST['options'];

  if(isset($_POST['submit'])){
    if(!empty($_POST['options'])){

      if($need == "pen"){
        echo "you need pen ";
      }

      elseif($need == "pencil"){
        echo "you need pencil";
      }

      elseif($need == "eraser"){
        echo "you need eraser";
      }

      elseif($need == "ruler"){
        echo "you picked ruler";
      }
    else{
      echo "you must pick atleast one";
    }
  }
}
 ?>

根據我的代碼,我哪里出錯了? 有沒有更好的方法來做到這一點?

我還是 php 和 stackoverflow 的新手,所以為我的錯誤道歉。

您在 PHP 中所做的代碼的問題在於$_POST['options']將是一個數組類型。 所以為了使這項工作的代碼應該是

 <?php

  if(isset($_POST['submit'])){
   $need = $_POST['options']; 
    if(!empty($need)){
       foreach($need as $n){
              if($n == "pen"){
                echo "you need pen ";
               }

             if($n == "pencil"){
                echo "you need pencil";
              }

            if($n == "eraser"){
               echo "you need eraser";
              }

            if($n == "ruler"){
                echo "you picked ruler";
              }

        }

  }
   else{
       echo "you must pick atleast one";
  }
}

 ?>

試試這個,這應該有效。

請注意,我還將 elseif 更改為 if 以獲取所有選定的選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM