2015-05-30 3 views
2

Есть ли способ ввода формы ввода динамически.динамический способ ввода формы ввода

Например, вместо

$name = $_POST['name'] e.t.c

у вас есть что-то вроде

для каждой формы ввода POST в базу данных. Мне нужен динамический способ, так что, если моя форма изменится, мне также не нужно менять свой сценарий POSTing.

+0

'$ _POST' - это массив, чтобы вы могли запускать foreach на нем. Однако в конечном итоге вы захотите получить валидацию (например, проверить, что только поля, которые вы хотите получить) и дезинфекция представленных значений. В любом случае, вы можете создать собственный механизм или использовать уже созданное решение и предоставленное некоторыми [framework] (http://doc.nette.org/en/2.3/forms) – hynner

+0

@saina идея $ _POST работает отлично, но массив включает в себя значение кнопки. Я предполагаю, что в это место входит проверка. Могу ли я также использовать DomDocuments для достижения этой цели. –

ответ

0

Вы можете перебрать данные $_REQUEST на стороне сервера с помощью foreach() функции, как:

foreach($_REQUEST as $req) 
{ 
    //all your form data will be available here 
} 

Примечания: Я $_REQUEST здесь, но вы можете использовать $ _GET или $ _POST согласно вашему требованию

0

У вас могут быть определенные фиксированные поля, которые вы всегда будете иметь (имя/имя пользователя/адрес электронной почты и т. Д.) И сохраните их в фиксированной таблице.

Затем вы получаете идентификатор этой строки, и вы сохраняете остальные поля в виде пар ключ-значение в другой таблице, где ключ - это имя input и значение его значение. В этой таблице вы также добавляете идентификатор сообщения, чтобы узнать, к какому сообщению принадлежит пара. Если необходимо, вы можете добавить дополнительные поля со свойствами, такими как вид поля, порядок и т. Д.

Смежные вопросы