Как получить выбранные имена флажок (несколько выбранных) в PHP? - PullRequest
0 голосов
/ 11 января 2010

У меня было несколько флажков, которые генерируются с помощью цикла. После отправки формы я хочу получить имена выбранных отдельных флажков, чтобы сохранить их в базе данных в качестве идентификатора. Пожалуйста, помогите мне .. Заранее спасибо

Код, который я использовал для создания флажка в цикле:

while($arrayRow = mysql_fetch_assoc($rsrcResult)) 
  {
      $strA = $arrayRow["area_id"];
  $strB = $arrayRow["area_name"];
      echo "<div class=\"area_check\"><input type=\"checkbox\" id=\"covarea[] \" />$strB</input></div>";
  }

Этот код, который я использовал для получения имен, не работал. Он только возвратил состояние флажка как ВКЛ

 while (list ($key,$val) = @each ($box)) 
{
  $aid=$val;
  echo $aid;
}

Ответы [ 2 ]

2 голосов
/ 11 января 2010

Если набор флажков помечен как

<input type="checkbox" name="food[]" value="Cheese">
<input type="checkbox" name="food[]" value="Ham">

Затем все проверенные значения доступны как массив из $ _POST ['food']

Очевидно, с примером кода, как указывает @rajasekar, было бы проще порекомендовать подход

0 голосов
/ 11 января 2010
  • id для каждого элемента является необязательным, но должен / должен быть уникальным.
  • Элементы формы должны иметь атрибут name , иначе они не будут отправлены (используйте «covarea []» в качестве имени для всех флажков.
  • Флажки должны иметь атрибут value , иначе они будут отправлены со значением " on ".
  • Вы должны убедиться, что $ strA и $ strB не содержат метасимволы HTML, иначе созданный вами HTML будет недействительным.
  • Ваш пример имел пробел после "[]" в id , кстати.

Возможно, вот так.

$n = 0;
while($arrayRow = mysql_fetch_assoc($rsrcResult)) 
{
     $strA = $arrayRow["area_id"];
     $strB = $arrayRow["area_name"];
     $n++;
     echo "<div class=\"area_check\"><input type=\"checkbox\" id=\"covarea${n}\" name=\"covarea[]\" value=\"${strA}\"/>$strB</input></div>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...