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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как передать массив через <form>
Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2015
Помог: 0 раз(а)
В общем понял все такие придется создать несколько инпутов, все равно спасибо! и сорри что засоряю форум тривиальными вопросами( тему можно закрыть или удалить
imediasun
Отправлено: 05 Марта, 2015 - 08:47:20
Частый посетитель
Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012
Помог: 2 раз(а)
[+][+][+][+][+]
вообще для того чтобы передать массив необходимо это осуществлять в самом контроллере, а если вам надо через форму то делайте так
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Xenox пишет:
можно ли передать массив через форму?
Можно воспользоваться функциями serialize() и unserialize()
Для преобразования массива в строку (перед выводом в форму) и обратного преобразования строки, полученной через $_POST в массив.
Мелкий
Отправлено: 05 Марта, 2015 - 10:55:54
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Sail пишет:
Можно воспользоваться функциями serialize() и unserialize()
Через клиента передавать - лучше не надо. Очень уж часто в реализации unserialize правят уязвимости. Уже в этом году пара ошибок закрыто, включая уязвимости.
----- PostgreSQL DBA
exlant
Отправлено: 05 Марта, 2015 - 14:18:35
Посетитель
Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
А не лучше именно для передачи массива сессии использовать?
Мне даже идеи не приходят, где нужно использовать именно форму для передачи массива!
Xenox
Отправлено: 05 Марта, 2015 - 14:56:07
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2015
Помог: 0 раз(а)
Всем спасибо за советы!! Воспользуюсь советом imediasun. А по поводу того зачем мне это нужно, цель: есть три страницы html, в 1 вводятся одни данные и передаються во вторую форму, во второй во второй вводятся еще данные, а первые записываются в массив, и передаються в 3 форму и записываются в бд... Я сначала хотел сделать все это на 1 странице, использовав ajax просто подменять дивы, но препод сказал мол "Ты в ajax ладу не дашь, а тебе еще нужно что бы все это работало в IE 8x+ так что делай 3 страницы и не парь мне мозги."
Может не оч понятно обьяснил, но как то так.
P.S. А по поводу сессий я их тоже не использую по совету препода, потому что денвер выдает ошибку что то типа headers alredy sent, ну я там читал что можно что то изменить в php.ini но пока не лез туда, решил сначала с этим разобраться.
Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
Ну так, на 1ой странице ввели данные, перешли на вторую, там первые данные записали в сессию, на 2ой ввели еще данные, перешли на следующую страничку, там новые данные добавили в сессию, ввели еще данные, перешли на следующую там опять все в сессию, и т.д.
в конце берем все нужные данные из сессии, и записываем в базу! имхо так логичней! (Добавление)
а ваш препод не может объяснить что означат ошибка headers alredy sent?
сессию нужно стартовать в самом начале файла, там не должно быть ни единого символа, включая пробелы!
Xenox
Отправлено: 05 Марта, 2015 - 15:23:42
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2015
Помог: 0 раз(а)
Т.е. я к примеру на второй странице использую такой код:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.