Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Прием массива checkbox
Форумы портала PHP.SU » » Вопросы новичков » Прием массива checkbox

Страниц (1): [1]
 

1. Teh_max - 07 Сентября, 2017 - 07:52:39 - перейти к сообщению
Доброго времени суток.
Помогите принять имеющийся массив checkbox ов.
В форме у меня прописано так:
PHP:
скопировать код в буфер обмена
  1. <input type="checkbox" name="shab[]" value="A" />A
  2. <input type="checkbox" name="shab[]" value="B" />B
  3. <input type="checkbox" name="shab[]" value="C" />C

до этого в обработчике принимал только текстовые поля через:

для дальнейшей передаче шаблону word через библиотеку PHPWord, а с чекбоксами так не получилось Огорчение
2. Строитель - 07 Сентября, 2017 - 09:24:08 - перейти к сообщению
Teh_max обращайтесь по ключам
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. echo $_POST['shab'][0]; // A
  4. echo $_POST['shab'][1]; // B
  5. echo $_POST['shab'][2]; // C
  6.  
  7. ?>
  8.  
  9. <form method="post">
  10.     <input type="checkbox" name="shab[]" value="A" />A
  11.     <input type="checkbox" name="shab[]" value="B" />B
  12.     <input type="checkbox" name="shab[]" value="C" />C
  13.     <input type="submit" />
  14. </form>
3. Teh_max - 08 Сентября, 2017 - 02:15:48 - перейти к сообщению
Строитель пишет:
Teh_max обращайтесь по ключам
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. echo $_POST['shab'][0]; // A
  4. echo $_POST['shab'][1]; // B
  5. echo $_POST['shab'][2]; // C
  6.  
  7. ?>
  8.  
  9. <form method="post">
  10.     <input type="checkbox" name="shab[]" value="A" />A
  11.     <input type="checkbox" name="shab[]" value="B" />B
  12.     <input type="checkbox" name="shab[]" value="C" />C
  13.     <input type="submit" />
  14. </form>


Не получилось Огорчение
В обработчике прописал:
PHP:
скопировать код в буфер обмена
  1. echo $_POST['shab'][0]; // A
  2. echo $_POST['shab'][1]; // B
  3. echo $_POST['shab'][2]; // C

в ворде стоит и ждет замены: ${shab} но теперь ворд при открытии шаблона ругается, на то, что не может открыть содержимое
4. andrewkard - 08 Сентября, 2017 - 11:54:15 - перейти к сообщению
Teh_max пишет:
В обработчике прописал:

зачем?
Цитата:

$data['shab']=$_POST['shab'];


Вам нужно было передать его в дату, только что Вы там хотите видеть, неясно.

Может:

PHP:
скопировать код в буфер обмена
  1.  
  2. $shab = '';
  3. if(!empty($_POST['shab']) && is_array($_POST['shab'])){
  4.     $shab = implode("-",$_POST['shab']);
  5. }
  6. $data['shab'] = $shab;
  7.  
5. Teh_max - 08 Сентября, 2017 - 14:37:57 - перейти к сообщению
andrewkard пишет:
Teh_max пишет:
В обработчике прописал:

зачем?
Цитата:

$data['shab']=$_POST['shab'];


Вам нужно было передать его в дату, только что Вы там хотите видеть, неясно.

Может:

PHP:
скопировать код в буфер обмена
  1.  
  2. $shab = '';
  3. if(!empty($_POST['shab']) && is_array($_POST['shab'])){
  4.     $shab = implode("-",$_POST['shab']);
  5. }
  6. $data['shab'] = $shab;
  7.  

СПАСИБО сработало.
А это т же результат можно вывести столбиком, а не в строчку.
Этот результат вставляется в колонку шаблона word
Вообщем нужно, что бы каждое значение
А
Б
С
было с новой строки
6. andrewkard - 08 Сентября, 2017 - 16:29:08 - перейти к сообщению
Поиграйтесь с первым параметром implode,
либо подсмотрите какой в WORD символ переноса строки
7. Teh_max - 09 Сентября, 2017 - 13:22:31 - перейти к сообщению
andrewkard пишет:
Поиграйтесь с первым параметром implode,
либо подсмотрите какой в WORD символ переноса строки

Замена тире на абзацы ворда(^p или ^013) непомогает, или что нужно менять? Может \r\n куданить прикрутить?
А если чекбоксов не три а много >200, то что делать, а то пример больше 3 непонимает Огорчение
8. LIME - 09 Сентября, 2017 - 17:25:32 - перейти к сообщению
все не читал
просто положу сюда может поможет https://github[dot]com/PHPOffice/PHPWord

Teh_max пишет:
А это т же результат можно вывести столбиком, а не в строчку.
аты не знаешь что в браузере все пробельные символы(пробелы и переводы строки) приводятся к одному пробелу? nl2br - гуглить
(Добавление)
глянь исходник страницы
Ctrl+U

 

Powered by ExBB FM 1.0 RC1