Так что я пытаюсь отправить результаты формы с помощью PHP. внутри моей формы у меня есть набор флажков. Приведенный ниже сценарий работает, когда отмечен по крайней мере 1 флажок в группе. Если ни один из флажков не проверяются я получаю следующее сообщение об ошибке:PHP-функция impode не работает правильно
Предупреждение: взрываться() [function.implode]: Invalid дополняющая прошло в {имя PHP док} в строке {ххх} Массив
Вот пример кода, я использую:
<?php
$data = array();
foreach ($_POST as $key => $value) {
$data[] = $value;
}
if(!$data[14]) //$data[14] is an array of checkbox values
{echo 'No User Selection';}
else
{echo implode(" | ", $data[14]);} //This is where the error occurs
?>
HTML код
<label for="b0" class="left">Item 1</label>
<input type="checkbox" name="b[0]" id="b0" value="Item 1"/>
<label for="b1" class="left">Item 2</label>
<input type="checkbox" name="b[1]" id="b1" value="Item 2"/>
<label for="b2" class="left">Item 3</label>
<input type="checkbox" name="b[2]" id="b2" value="Item 3"/>
ect....
кто-нибудь есть идея, почему я получаю Тхи s ошибка?
попробуйте распечатать $ data [14], чтобы убедиться, что это массив! –
Почему вы преобразовываете массив '$ _POST', который имеет легко идентифицируемые ключи, в новый массив, где вы должны угадать, что такое ключ? Добавьте новое поле перед флажками, и все это рухнет. Просто используйте '$ _POST ['b']'. – jeroen
Я думаю, что то, что происходит. Если ни один из флажков не установлен, $ data [14] становится следующим входом со значением, опубликованным. Когда проверяется хотя бы один флажок $ data [14] - это массив? Как я могу легко назначить все должности переменной без необходимости их индивидуального использования? – Austin