2179
.pdfif(isset($_POST['login']) && isset($_POST['password'])){ $login=strip_tags($_POST['login']);
$password = strip_tags($_POST['password']);
echo "Ваш логин: $login <br> Ваш пароль: $password";
}
Результатом ее работы при том же вводе будет следующий вывод:
1.8.2. Получение данных из строки запроса
Другим распространенным способом отправки данных на сервер является метод GET. Его сущность состоит в том, что данные передаются в адресной строке браузера.
Итак, создадим простой скрипт get.php со следующим содержимым:
<?php
$login = "не определен"; $age = "не определен"; if(isset($_GET['login'])){
$login = $_GET['login'];
}
if(isset($_GET['age'])){
$age = $_GET['age'];
}
echo "Ваш логин: $login <br> Ваш возраст: $age"; ?>
В PHP по умолчанию определен глобальный ассоциативный массив $_GET, который хранит все значения, передаваемые в строке запроса. Его действие
100
подобно массиву $_POST: также по ключу мы можем получить передаваемое значение.
Теперь обратимся к этому скрипту, например, так http://localhost:8080/get.php ?login=mailcom&age=22:
Все параметры передаются на сервер в следующей форме: get.php?параметр1=значение1&параметр2=значение2&параметрN=з начениеN. Чтобы передать список параметров, после названия скрипта ставится знак вопроса, за которым идут наборы параметров и их значений. Название параметра и будет ключом в массиве $_GET. Наборы параметрзначения отделяются друг от друга знаком амперсанда (&)
Данные формы мы также можем передать через запрос GET. Для этого достаточно у формы указать атрибут method="get", и тогда все значения полей формы также будут передаваться через строку запроса:
<form method="GET">
Логин: <input type="text" name="login" /><br><br> Пароль: <input type="text" name="password" /><br><br> <input type="submit" value="Отправить">
</form>
1.8.3. Работа с полями ввода форм
Формы могут содержать различные элементы - текстовые поля, флажки, переключатели и т.д., обработка которых имеет свои особенности. Обработка флажков
Флажки или чекбоксы checkbox могут находиться в двух состояниях: отмеченном (checked) и неотмеченном. Например:
Запомнить: <input type="checkbox" name="remember" checked="checked" />
Если флажок находится в неотмеченном состоянии, например:
Запомнить: <input type="checkbox" name="remember" />
101
то при отправке формы значение данного флажка не передается на сервер. Если флажок отмечен, то при отправке на сервер для поля remember будет передано значение on:
$remember = $_GET['remember'];
Если нас не устраивает значение on, то с помощью атрибута value мы можем установить нужное нам значение:
Запомнить: <input type="checkbox" name="remember" value="1" />
Иногда необходимо создать набор чекбоксов, где можно выбрать несколько значений. Например:
ASP.NET: <input type="checkbox" name="technologies[]" value="ASP.NET" /> PHP: <input type="checkbox" name="technologies[]" value="PHP" />
RUBY: <input type="checkbox" name="technologies[]" value="Ruby" />
В этом случае значение атрибута name должно иметь квадратные скобки. И тогда после отправки сервер будет получать массив отмеченных значений:
$technologies = $_POST['technologies']; foreach($technologies as $item) echo "$item<br />";
В данном случае переменная $technologies будет представлять массив, который можно перебрать и выполнять все другие операции с массивами. Переключатели Переключатели или радиокнопки позволяют сделать выбор между
несколькими взаимоисключающими вариантами:
<input type="radio" name="course" value="ASP.NET" />ASP.NET <br> <input type="radio" name="course" value="PHP" />PHP <br> <input type="radio" name="course" value="Ruby" />RUBY<br>
На сервер передается значение атрибута value у выбранного переключателя. Получение переданного значения:
if(isset($_POST['course']))
102
{
$course = $_POST['course']; echo $course;
}
Список
Список представляет элемент select, который предоставляет выбор одного или нескольких элементов:
<select name="course" size="1">
<option value="ASP.NET">ASP.NET</option> <option value="PHP">PHP</option> <option value="Ruby">RUBY</option> <option value="Python">Python</option> </select>
Элемент <select> содержит ряд вариантов выбора в виде элементов <option>:
Теперь получим выбранный элемент:
if(isset($_POST['course']))
{
$course = $_POST['course']; echo $course;
}
Но элемент select также позволяет множественный выбор. И в этом случае обработка выбранных значений изменяется, так как сервер получает массив значений:
<select name="courses[]" size="4"multiple="multiple"> <option value="ASP.NET">ASP.NET</option> <option value="PHP">PHP</option>
<option value="Ruby">RUBY</option> <option value="Python">Python</option> </select>
Такие списки имеют атрибут multiple="multiple". Для передачи массива также указываются в атрибуте name квадратные скобки:name="courses[]"
103
Теперь получим в PHP выбранные значения:
<?php if(isset($_POST['courses']))
{
$courses = $_POST['courses']; foreach($courses as $item) echo "$item<br>";
}
?>
1.8.4. Пример обработки форм
Рассмотрим комплексный пример обработки форм, в которой объединим обработку различных элементов html. Определим следующую форму:
<h2>Анкета</h2>
<form action="input.php" method="POST"> <p>Введите имя:<br>
<input type="text" name="firstname" /></p> <p>Форма обучения: <br>
<input type="radio" name="eduform" value="очно" />очно <br> <input type="radio" name="eduform" value="заочно" />заочно </p> <p>Требуется общежитие:<br>
<input type="checkbox" name="hostel" />Да</p> <p>Выберите курсы: <br>
<select name="courses[]" size="5" multiple="multiple"> <option value="ASP.NET">ASP.NET</option> <option value="PHP">PHP</option>
<option value="Ruby">RUBY</option> <option value="Python">Python</option> <option value="Java">Java</option> </select></p>
<p>Краткий комментарий: <br>
<textarea name="comment" maxlength="200"></textarea></p> <input type="submit" value="Выбрать">
</form>
104
Здесь простейшая стандартная форма ввода анкетных данных:
Теперь определим скрипт input.php, который будет обрабатывать эту форму:
<?php
if(isset($_POST['firstname']) && isset($_POST['eduform']) && isset($_POST['comment']) && isset($_POST['courses']))
{
$name = htmlentities($_POST['firstname']); $eduform = htmlentities($_POST['eduform']); $hostel = "нет";
if(isset($_POST['hostel'])) $hostel = "да"; $comment = htmlentities($_POST['comment']); $courses = $_POST['courses'];
$output =" <html> <head>
<title>Анкетные данные</title> </head>
<body>
105
Вас зовут: $name<br />
Форма обучения: $eduform<br />
Требуется общежитие: $hostel<br /> Выбранные курсы:
<ul>";
foreach($courses as $item)
$output.="<li>" . htmlentities($item) . "</li>"; $output.="</ul></body></html>";
echo $output;
}
else
{
echo "Введенные данные некорректны";
}
?>
Откроем страницу с формой, введем все данные:
И отправим форму на сервер:
106
2.ЛАБОРАТОРНЫЕ РАБОТЫ
2.1.ЛАБОРАТОРНАЯ РАБОТА № 1
Тема: Основы html
Цель: познакомиться с основными тегами html
Задачи:
1)Научиться создавать html документ.
2)Научиться работать с таблицами в html.
Теоретические сведения:
HTML-документ – это обычный текстовый документ, может быть создан как в обычном текстовом редакторе (Блокнот), так и в специализированном, с подсветкой кода (Notepad++). HTML-документ имеет расширение .html.
Язык HTML – язык тегов. Теги описывают структуру HTML-документа. Теги оформляются угловыми скобками <имя тега>, между которыми прописывается имя тега.
Элемент <html> является корневым элементом документа. Все остальные элементы содержатся внутри тегов <html>...</html>. Все, что находится за пределами тегов, не воспринимается браузером как код HTML и никак им не обрабатывается.
Элемент <head>. Раздел <head>...</head> содержит техническую информацию о странице: заголовок, описание, ключевые слова для поисковых машин, кодировку и т.д.
107
Элемент <title>. Обязательным тегом раздела <head> является тег <title>. Текст, размещенный внутри этого тега, отображается в строке заголовка веб-браузера.
Элемент <style>. Внутри этого элемента задаются стили, которые используются на странице. Для задания стилей в html-документе используется язык CSS.
Элемент <body>. В этом разделе располагается все содержимое документа.
HTML таблицы состоят из ячеек, образующихся при пересечении строк и столбцов.
Ячейки таблиц могут содержать любые HTML-элементы, такие как заголовки, списки, текст, изображения, элементы форм, а также другие таблицы.
Основные теги для создания таблицы:
caption - заголовок для таблицы
col - указывает стилевую информацию для одной или более колонок таблицы
colgroup - указывает общую стилевую информацию для группы колонок в таблице
table - таблица
tbody - основное содержимое (средняя часть) таблицы
td - ячейка таблицы
tfoot - нижняя часть таблицы
th - заголовочная ячейка таблицы
thead - верхняя часть таблицы
tr - строка таблицы
Ход выполнения
Давайте создадим простую таблицу, которая состоит из 3 столбцов. HTML-код таблицы:
<table>
<tr>
<td>Столбец 1</td>
<td>Столбец 2</td>
<td>Столбец 3</td>
</tr>
</table>
108
На странице в браузере таблица будет выглядеть вот так:
По умолчанию браузер выводит таблицу с рамкой. Чтобы скрыть рамку таблицы, вам понадобится атрибут тега TABLE border. Пример таблицы без рамки:
<table
border="0">
<tr> <td>Столбец
1</td>
<td>Столбец
2</td>
<td>Столбец
3</td>
</tr>
</table>
На странице мы увидим нашу таблицу без рамки:
Атрибут border изменяет величину лишь внешней рамки нашей таблицы. Значение 0 как вы поняли делает её невидимой, а значение от 1 до 10 задает её толщину. Примедем пример таблицы с рамкой 6:
<table
border="6">
<tr> <td>Столбец
1</td>
<td>Столбец
2</td>
<td>Столбец
3</td>
</tr>
</table>
На выходе страницы получим такую таблицу:
109