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 :: Передача N колличества переменных
Покинул форум
Сообщений всего: 96
Дата рег-ции: Май 2010 Откуда: Россия, Калуга
Помог: 2 раз(а)
Все привет.
Подскажите как файлу обработчику принять N количество переменных...
Т.е. у меня есть форма которую генерируется циклом из базы,
сколько строк в базе, столько и радио кнопок:
<input name='otvet_%s' type='radio' value='%s' />
переменных $otvet_%s может быть 2 а может и 10 или 100,
Как файлу обработчику сказать скока и какие переменные к нему пришли?
Думаю верно разъяснил, очень жду Вашей помощи, застрял на одном месте...
Заранее благодарен...
----- Не откладывай работу на завтра, от которой можно вообще отказаться
Саныч
Отправлено: 21 Октября, 2010 - 15:58:36
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
в обработчике применяете foreach для $_POST['otvet'] (или $_GET['otvet'], смотря что у вас)
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
ADIOS
Отправлено: 21 Октября, 2010 - 16:02:33
Гость
Покинул форум
Сообщений всего: 96
Дата рег-ции: Май 2010 Откуда: Россия, Калуга
Помог: 2 раз(а)
Саныч пишет:
в обработчике применяете foreach для $_POST['otvet'] (или $_GET['otvet'], смотря что у вас)
А можно по подробней, ни как не могу въехать... (((
----- Не откладывай работу на завтра, от которой можно вообще отказаться
Саныч
Отправлено: 21 Октября, 2010 - 16:06:53
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
вот у вас стоит name='otvet_%s'. Вместо %s я так понимаю подставляется число... Вы вишите вместо otvet_%s просто otvet[], т.е. все ваши 2 - 10 - 100 переменных складываются в массив $_POST['otvet']. В опработчике будет примерно такой код...
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
ADIOS
Отправлено: 21 Октября, 2010 - 16:22:06
Гость
Покинул форум
Сообщений всего: 96
Дата рег-ции: Май 2010 Откуда: Россия, Калуга
Помог: 2 раз(а)
Саныч пишет:
Вместо %s я так понимаю подставляется число... Вы вишите вместо otvet_%s просто otvet[],
Дело в том что сюда %s подставляется id вопроса, а сюда value="id_ ответа".
На странице идет спиок с N колличеством вопросов, и если сделать так otvet[] то можно будит выбрать только один ответ со всех вопросов, а так не должно быть...
----- Не откладывай работу на завтра, от которой можно вообще отказаться
Саныч
Отправлено: 21 Октября, 2010 - 16:51:41
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Спасибо Вам огромное.. Вот с этого и надо было ничинать...
И чтоб добить эту тему, хотелось бы еще узнать как все эти переменные сложит в одну сумму. Например передается 3, 5,10 итого 18, или 5,6,2,2 итого 15...
Заранее спасибо
----- Не откладывай работу на завтра, от которой можно вообще отказаться
JustUserR
Отправлено: 22 Октября, 2010 - 13:26:08
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
ADIOS пишет:
Подскажите как файлу обработчику принять N количество переменных...
Для проведения передачи PHP-скрипту набор перемнных их формы запрос число которых не является фиксированным - можно использовать также специальную схему отличную от применния поля автогенерации массива на серверонй стороне - для этой цели возможно создания клиентского JS-скрипта который производит подсчет элементов в форме и осуществляет передачу их идентификаторов в кодированном сериализованном виде к PHP-скрипту - который в свою очередь производит получения конкретных имен и их выборку их строки запроса
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
OrmaJever
Отправлено: 22 Октября, 2010 - 14:20:14
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
ADIOS пишет:
<input name='otvet_%s' type='radio' value='%s' />
переменных $otvet_%s может быть 2 а может и 10 или 100
----- Не откладывай работу на завтра, от которой можно вообще отказаться
JustUserR
Отправлено: 23 Октября, 2010 - 12:59:15
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
ADIOS Использование пользовательской формы элементы которой представлены в виде массива однородных элементов впоследствии обрабатываемом на стороне PHP-скрипта может представлять некоторые проблемы с безопсностью - дело в том что при подаче соответствующего запроса PHP-скрипту потенциаильго возможгно создать собственную форму с чрезмерным количетсвом полей запроса - и в случае если полный массив впоследствии применяется к примеру для генерации SQL-запроса то это может привести к перегрузке сервера
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.