Задать вопрос
@Dealaxer

Как передать данные (типа: name="xxxx...") из формы в обработчик формы, если имена для полей формы генерируются автоматически?

Народ, приветствую всех!

Как передать данные (типа: name="xxxx...") из формы в обработчик формы, если имена для полей формы генерируются автоматически? То есть, невозможно предугадать какое имя будет у поля для атрибута name="" сгенерировано, поэтому и непонятно как эти данные передать в обработчик, если они изначально неизвестны, как вообще записать эти неизвестные данные.

Заранее благодарю.
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@SergeyNN
Можно имена заранее ввести в массив, то есть так: name = "fixedname[%rndname%]".
Тогда при разборе get или post жить станет чуть проще.
На php, например, это всё прилетит в массив $_post[fixedname].
Далее через foreach ($_post[fixedname] as $name => $value){}

А если вам всё же интересны конкретные поля в форме, то припишите полям нужные префиксы и разбирайте из потом при переборе foreach.

Иван вам рекомендовал использовать сессионные возможности для записи, какому случайному имени поля соответствует что - присоединяюсь, простое и действенное решение.

Выбирайте.

А вообще, видимо, вы пытаетесь пресечь автоматическую обработку формы? Если так, то это не тот метод. Так вы только снизите комфорт легальным пользователям. Для безопасности необходимы другие методы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Wolfnsex
@Wolfnsex Куратор тега PHP
Если не хочешь быть первым - не вставай в очередь!
Перебирать массивы, $_POST, $_GET, $_REQUEST, $_FILES (и т.д.) по ситуации, и доставать из них всё, что пришло.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
"В ответ на агрессию со стороны неизвестно кого США нанесли удар куда попало"
Передавать можно методом пост или гет ).
Если приходит тарабарщина - то и перебирать foreach-ем и записывать как ключ=> значение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы