Как сделать обработку выпадающего списка в php. Пример группировки пунктов списка. Удаление информации из базы данных. Оператор DELETE
Зачастую на Web – сайтах можно встретить страницы с размещенными на них HTML - формами. Веб-формы – удобный способ получения информации от посетителей вашего сайта. Пример тому – , – которая обеспечивает обратную связь с посетителями и разработчиками сайта. Формы так же удобны и для разработчиков сайта при разработке CMS, которая позволяет поддерживать главное свойство сайта - актуальность. Данная статья посвящена основам создания HTML-форм, их обработке и способам передачи данных из экранных форм в PHP-сценарии.
1) Создание простой формы
Теги и задают начало и конец формы. Начинающий форму тег содержит два атрибута: action
и method
. Атрибут action содержит адрес URL сценария, который должен быть вызван для обработки сценария. Атрибут method
указывает браузеру, какой вид HTTP запроса необходимо использовать для отправки формы; возможны значения POST
и GET
.
Замечание
Главное отличие методов POST и GET заключается в способе передачи информации. В методе GET параметры передаются через адресную строку, т.е. по сути в HTTP-заголовке запроса, в то время как в методе POST параметры передаются через тело HTTP-запроса и никак не отражаются на виде адресной строки.
В данной html-форме присутствует элемент browse
, который открывает диалоговое окно для выбора файла для загрузки на сервер. При нажатии на кнопку "Передать файл"
, файл передается сценарию-обработчику.
Затем необходимо написать сценарий обработчик action.php
. Перед написание обработчика необходимо определиться в какой каталог мы будет копировать файл:
if(isset($_FILES
[
"myfile"
]))
// Если файл существует
{
$catalog
=
"../image/"
;
// Наш каталог
if (is_dir
($catalog
))
// Если такой каталог есть
{
$myfile
=
$_FILES
[
"myfile"
][
"tmp_name"
];
// Времменый файл
$myfile_name
=
$_FILES
[
"myfile"
][
"name"
];
// Имя файла
if(!
copy
($myfile
,
$catalog
)) echo
"Ошибка при копировании файла "
.
$myfile_name
// Если неудалось скопировать файл
}
else
mkdir
("../image/"
);
// Если такого каталога нет, то мы его создадим
}
?>
Замечание
Если вы доверяете пользователям закачивать на ваш сервер любые файлы, нужно быть предельно осторожным. Злоумышленники могут внедрить «нехороший» код в картинку или файл и отправить на сервер. В таких случаях нужно жестоко контролировать загрузку файлов.
Данный пример демонстрирует создание каталога и копирование файла в этот каталог на сервер.
Также хотел бы продемонстрировать пример с элементом checkbox
. Этот элемент немного отличается от других элементов тем, что если не один из элементов checkbox
’a не выбран, то суперглобальная переменная $_POST
вернет пустое значение:
if (!empty($_POST
[
"mycolor"
])) echo
$_POST
[
"mycolor"
];
// Если выбран хоть 1 элемент
else echo
"Выберите значение"
;
?>
Всем доброго времени суток. На связи Алексей Гулынин. В статье, посвященной обработке полей формы в PHP , мы с вами убедились, что передавать значения полей формы на обработку достаточно просто. Мы использовали массив $_REQUEST
, где в качестве параметра указывали имя поля. И у всех полей были разные имена. Но как скрипт отработает в том случае, когда у полей одинаковые имена и мы выбираем несколько, например такая ситуация возникает при работе со списками, флажками (checkbox). Давайте создадим скрипт, который будет показывать значения из списка, которые мы выбрали. Также будем создавать всё в одном файле:
Если мы запустим данный скрипт и выберем пару городов, то будет показан только последний. Чтобы иметь возможность вывести все города, необходимо как-то их всех передать. Для этого можно использовать массивы, т.е. в качестве значения атрибута name нашего select
можно поставить cities
:
?>
Все города можно вывести с помощью print_r($_REQUEST["cities"])
(это быстрый вариант), или воспользоваться циклом foreach
:
После этого, сколько бы элементов мы ни выбрали, скрипт нормально отработает и выведет нам все города.
Аналогично будет строиться работа по обработке флажков (checkbox). В отличие от radiobutton, элементов с типом checkbox можно выбрать сколько угодно много.
В качестве домашнего задания:
Создайте скрипт, который будет спрашивать ваш пол (использовать radiobutton), а также языки программирования, которые вы знаете (сделать на выбор 3 языка). На страницу должно выводиться: ваш пол, языки, которые знаете.
Ваш пол:
Мужской
Женский
Какие языки вы знаете:
PHP
javascript
C#
";}
else {
if ($_REQUEST["sex"] === "male") echo "Ваш пол: мужской "; else echo "Ваш пол: женский ";
echo "Вы знаете следующие языки программирования: ";
foreach ($_REQUEST["lang"] as $lang) {
if ($lang !== "") echo "$lang ";
}
}
?>
В данной статье вы узнали, как работать с полями множественного выбора в PHP
.
Предназначен для создания списка предложенных пунктов, из которого пользователь может выбрать один или несколько.
Ограничивается тегами .
Атрибуты тега
autofocus
Автоматическое получение фокуса при загрузке страницы. Значение можно задать тремя способами:
disabled
Блокирует выбор из списка. Значение можно задать тремя способами:
multiple
Позволяет выбрать несколько пунктов списка одновременно. Следует обратить внимание, что при множественном выборе в
потоке данных от одной формы может присутствовать несколько переменных с одним и тем же именем.
Ваша программа обработки должна предусматривать подобные ситуации и корректно их обрабатывать.
name
Имя списка. Обязательный атрибут.
required
Обязательно должен быть выбран пункт с непустым значением. Если это не выполнено, то браузер выведет сообщение,
а форма на сервер отправлена не будет. Вид и содержание сообщения зависит от браузера и меняться пользователем не может
(не работает в IE и Safari).
size
Вертикальный размер окна списка.
Если атрибут опущен или его значение равно 1,
выводится всплывающий список пунктов. Если
указано число больше 1, то пункты списка выводятся в
окне с полосой прокрутки. Если значение атрибута
больше, чем фактическое количество пунктов
списка, то добавляются пустые пункты. При их выборе
пользователем возвращаются пустые поля.
Пункт списка
Каждый пункт списка ограничивается тегами . Закрывающий тег необязателен.
Атрибуты тега
disabled
Блокирует выбор пункта списка.
label
Метка пункта списка. Если указан атрибут label, то в списке выводится его значение вместо текста внутри тега
Часть вторая
: "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес"
Введение
Сначала мы приведём...