В этом уроке я хочу поделиться с Вами про один отличный метод на языке PHP, который может добавлять и удалять поля на сайте. Наверно, Вы не раз сталкивались с такой ситуацией, когда на сайте требуется добавить сразу несколько полей. К примеру, возьмем фотогалерею, когда требуется добавить сразу n-ое количество изображений на сервер при этом используя свободу выбора при загрузке количества изображений. Как раз в данном случае, наш скрипт будет полностью этому соответствовать.
Чтобы мы могли подробно ознакомиться с данным скриптом, предоставляю Вашему вниманию небольшой видео урок. В нем Вы по шагам сможете изучить данный скрипт и уже спокойно реализовать его у себя на сайте.
Если же все-таки, Вам что то не понятно стало или хочется просто текстовую версию, то она полноценно с кодом приведена ниже. Также имеется демонстрация самого скрипта и исходники.
Данный скрипт реализован посредством конструкции switch case, которая позволяет успешно реализовывать функцию добавления прибавляя +1, а также при удалении -1. В комментария я подробно все расписал.
<? switch ($action) /*Начало конструкции.*/ { case 'add': $field++; break; /*Добавление полей.*/ case 'del': $field--; break; /*Удалений полей.*/ default: $field = 1; /*При загрузки страницы, выводим первое поле.*/ } if ($field < 1) $field = 1; /*Не даем удалить "поле по умолчанию".*/ ?>
Процесс добавления происходит тогда, когда человек кликает по ссылке и соответственно, вместо переменной $field, подставляется 1, такой же процесс происходит и при удалении. Суть тут в том, что в ссылках имеется GET запрос по обращению к полям add - добавление или del - удаление.
<table> <tr> <td><a href="index.php?action=add&field=<?=$field; ?>"> Добавить поле</a> /</td> <td><a href="index.php?action=del&field=<?=$field; ?>"> Удалить поле</a></td> </tr> <tr> <td colspan="2"> <? for ($i = 0; $field > $i; $i++) /* Начинаем цикл от нуля до повышения добавления поля на единицу, аналогично и для удаления поля. */ { if($i==0) { /* Если переменная $i равна нулю, то мы выводим поле по умолчанию, если нет но в правильном нумерованном порядке. */ echo"<br>Поле по умолчанию<br><input name='field $i' type='text'/> <br>"; } else { echo '<br>'."$i".'<input name="field' . "$i" . '" type="text"/> <br>'; /* Выводим все поля, начиная с 1-го. */ } } ?> </td> </tr> </table>
Как видим, все очень просто получилось! Буду очень рад, если чем то помог, действительно, полезным!