Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2179

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
1.23 Mб
Скачать

if(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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]