Флажки переменных PHP

0

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

Есть ли простой способ с PHP узнать, какие флажки были проверены? Я прочитал несколько руководств и статей SO о прохождении массивов с чем-то вроде:

<input type="checkbox" name="serviceCity[]">

Я не могу заставить это работать. Каждый раз, когда я пытаюсь, $_REQUEST["serviceCity"] возвращается как undefined, поэтому я могу использовать foreach для прокрутки. Любая помощь приветствуется.

  • 0
    Так где твой код, который генерирует флажки?
Теги:
arrays
forms

2 ответа

1
Лучший ответ

Вы можете создать ретрансляцию массива двумя способами, либо явно:

<input name="checkbox[2]">

Или неявно:

<input name"checkbox[]">

Во втором случае они будут пронумерованы вверх, как показано на странице.

Ваша реальная проблема, вероятно, $_REQUEST с $_REQUEST который был устарел где-то в 2004 году или, возможно, раньше, поскольку он является крайне небезопасным способом доступа к переменным "GPC", поскольку они могут перезаписывать друг друга. Попробуйте использовать $_POST вместо этого, чтобы читать переменные обратной передачи.

  • 0
    Большое спасибо. Я настроил это так, как вы перечислили. В итоге я вытащил готовый фрагмент из другой формы, которую использовал, и не избавился от некоторых лишних кусочков. Я не знал, что $ _REQUEST устарел, так как магазин, в котором я работаю, делает это. Большое спасибо за информацию.
0

Попробуйте это, он будет работать:

<input type="checkbox" name="serviceCity[]" value=""/>

Вы не можете получить доступ к значению serviceCity[] напрямую, используя $_REQUEST["serviceCity"] Вот, $_POST['serviceCity'] - это массив, чтобы вы могли выбирать значения флажка, выполнив следующие действия:

$cities = $_POST['serviceCity'];

foreach($cities as $service_cities)
        {

          echo $server_cities;

        }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню