У меня есть форма регистрации, которую я разрабатываю. В этой форме называется раздел "Область обслуживания". Что происходит, пользователь вводит почтовый индекс и радиус мили, а затем вызов Ajax извлекает все почтовые индексы в этой области и динамически создает флажки на странице. Затем пользователь выбирает, какие города они обслуживают и представляет форму.
Есть ли простой способ с PHP узнать, какие флажки были проверены? Я прочитал несколько руководств и статей SO о прохождении массивов с чем-то вроде:
<input type="checkbox" name="serviceCity[]">
Я не могу заставить это работать. Каждый раз, когда я пытаюсь, $_REQUEST["serviceCity"]
возвращается как undefined,
поэтому я могу использовать foreach для прокрутки. Любая помощь приветствуется.
Вы можете создать ретрансляцию массива двумя способами, либо явно:
<input name="checkbox[2]">
Или неявно:
<input name"checkbox[]">
Во втором случае они будут пронумерованы вверх, как показано на странице.
Ваша реальная проблема, вероятно, $_REQUEST
с $_REQUEST
который был устарел где-то в 2004 году или, возможно, раньше, поскольку он является крайне небезопасным способом доступа к переменным "GPC", поскольку они могут перезаписывать друг друга. Попробуйте использовать $_POST
вместо этого, чтобы читать переменные обратной передачи.
Попробуйте это, он будет работать:
<input type="checkbox" name="serviceCity[]" value=""/>
Вы не можете получить доступ к значению serviceCity[]
напрямую, используя $_REQUEST["serviceCity"]
Вот, $_POST['serviceCity']
- это массив, чтобы вы могли выбирать значения флажка, выполнив следующие действия:
$cities = $_POST['serviceCity'];
foreach($cities as $service_cities)
{
echo $server_cities;
}