<input type="checkbox" class="ch8" id="q81" name="step8[]" value="1" onclick="checkBlocking_3()">
<label for="q81">Первый ответ</label><br>
<input type="checkbox" class="ch8" id="q82" name="step8[]" value="2" onclick="checkBlocking_3()">
<label for="q82">Второй ответ</label><br>
<input type="checkbox" class="ch8" id="q83" name="step8[]" value="3" onclick="checkBlocking_3()">
<label for="q83">Третий ответ</label><br>
При нажатии на кнопку методом POST передаются значения отмеченных чекбоксов (от 1 до 3) и фу-й implode() объединяются в строку:
$p=implode("o",$_POST['step8']);
В результате вот такое предупреждение:
implode() [function.implode]: Invalid arguments passed
Т.е. POST передает массив в массиве(т.к. могут быть отмечены сразу несколько значений checkbox). Как избавиться от ошибки?
Спустя 22 минуты, 44 секунды (27.03.2012 - 18:32) Pulse написал(а):
13_demon_89
2 параметр функции implode() должен быть массивом
2 параметр функции implode() должен быть массивом
Спустя 1 минута, 2 секунды (27.03.2012 - 18:33) m4a1fox написал(а):
13_demon_89
Кто вам сказал что вот это
Кто вам сказал что вот это
Цитата |
$_POST['step8'] |
массив?
Спустя 6 минут, 36 секунд (27.03.2012 - 18:40) 13_demon_89 написал(а):
Цитата (m4a1fox @ 27.03.2012 - 15:33) | ||
13_demon_89 Кто вам сказал что вот это
массив? |
name="step8[]" - посмотрите на имена чекбоксов.
А то, что второй параметр массив, это и так понятно, вопрос не в этом!
Спустя 5 минут, 43 секунды (27.03.2012 - 18:45) Pulse написал(а):
13_demon_89
Всё должно работать, ошибка наверное возникает, когда ты не отмечаешь не один из чекбоксов.
Всё должно работать, ошибка наверное возникает, когда ты не отмечаешь не один из чекбоксов.
Спустя 1 минута, 19 секунд (27.03.2012 - 18:47) Pulse написал(а):
Чтобы не возникала ошибка напиши так:
if (!empty($_POST['step8'])) {
$p = implode("o",$_POST['step8']);
}
Спустя 1 минута, 44 секунды (27.03.2012 - 18:48) 13_demon_89 написал(а):
Цитата (Pulse @ 27.03.2012 - 15:45) |
13_demon_89 Всё должно работать, ошибка наверное возникает, когда ты не отмечаешь не один из чекбоксов. |
Именно так, но с точки эстетики, как убрать это предупреждение? Представьте, пользователь заходит и видит в конце страницы кучу вот таких предупреждений.
Спустя 37 секунд (27.03.2012 - 18:49) Pulse написал(а):
13_demon_89
Я написал решение уже.
Я написал решение уже.

Спустя 1 минута, 9 секунд (27.03.2012 - 18:50) 13_demon_89 написал(а):
Цитата (Pulse @ 27.03.2012 - 15:47) |
Чтобы не возникала ошибка напиши так:if (!empty($_POST['step8'])) { |
Спасибо за ответ. Вопрос снят)
Спустя 1 минута, 1 секунда (27.03.2012 - 18:51) Pulse написал(а):
13_demon_89
Спасибо в карму лучше
Спасибо в карму лучше
