2015-10-24 2 views
0

Я новичок в HTML, PHP и Javascript. Я создал форму профиля пользователя, которая имеет такие данные, как полное имя, идентификатор электронной почты, мобильный телефон и т. Д.Обработка нескольких записей в форме html с помощью PHP

Кроме того, я должен добавить раздел для «Хобби/интересы», который может включать в себя несколько записей - например, Книги, путешествия , Hike, Marathon и т. Д.

Мне нужно добавить эти увлечения как отдельный раздел в форме HTML с пользователем с кнопкой «+», чтобы добавить дополнительные интересы и одну кнопку, чтобы сохранить все записи, добавленные с помощью + кнопка.

Как мне обрабатывать это, когда я отправляю данные в форму PHP? Я верю через javascript, у меня есть возможность добавлять больше записей в раздел «Интересы». Но как обращаться с этим в PHP при отправке формы.

+0

Итак, для чего вы используете php? Вы вставляете значения в db? –

+1

Ваш вопрос слишком широк. Все, что у вас есть на стороне сервера, это массив '_POST', поэтому используйте его. –

ответ

2

При добавлении входов через JavaScript, создавать их как этот

<input type="text" name="hobbies[]"> 

При получении данных в PHP, «хобби» будет массив:

$hobbies = $_POST['hobbies']; 
foreach ($hobbies as $hobby) { 
    do something with the hobby ... 
} 

Вы можете добавить конкретные если вы предпочитаете. Например, это может быть внутренний идентификатор, поэтому вы знаете, если они его удаляют. Если вы не зададите индексы, это будет просто Autoincrement их, начиная с 0

<input type="text" name="hobbies[12]"> 
<input type="text" name="hobbies[17]"> 
<input type="text" name="hobbies[67]"> 

Затем ссылаются на индекс:

foreach ($hobbies as $hobby_index => $hobby) { 
... 
0

сделать массив хобби в HTML форме сделать имя как name=hobbies[]; и справиться с этим массив в php. + кнопка может генерировать html-код, а также генерировать name=hobbies[]. вы можете сделать это, используя функцию jQuery append().

+0

Этот вопрос не помечен jQuery. – j08691

0

Когда пользователь добавляет новое хобби, вы хотите, чтобы хобби было немедленно добавлено в базу данных или когда форма была отправлена ​​окончательно? Если это первый, используйте AJAX. В противном случае (в отличие от других ответов) вы можете иметь скрытое текстовое поле, которое собирает список всех увлечений, разделенных запятыми, когда пользователь нажимает кнопку +. Это текстовое поле также будет представлено как один из доступных элементов POST. Затем вы можете использовать функцию split в PHP для прокрутки элементов. стр. Я думаю, что использование скрытых элементов может рассматриваться нестандартной практикой.

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