- •Рецензенты:
- •Введение 7 Глава 1. Создание Web‑страниц, html, vbSript 9
- •Глава 2. Weв-программирование на языке php 96
- •Глава 3. Практикум по разработке сайтов и Web-программированию 155
- •Глава 1. Создание Web‑страниц, html, vbSript
- •1.1. Обзор средств и технологий создания Web‑страниц и Web-приложений
- •1.1.1. Языки описания документов
- •1.1.1.2. Динамический html.
- •1.1.1.3. Язык гипертекстовой разметки xml.
- •1.1.1.5. Язык vrml
- •1.1.1.6. Мультимедйные средства и редакторы
- •1.1.2. Языки и технологии Web-программирования
- •1.1.2.1. Клиентские приложения
- •1.1.2.2. Серверные приложения
- •1.1.2.3. Поддержка состояния
- •1.1.3. Системы управления контентами сайта (cms)
- •1.1.5. Использование поисковых возможностей Интернет
- •1.2. Основы html
- •1.2.1. Правила написания
- •1.2.2. Структура документа
- •1.2.3. Форматирование текста
- •1.2.4. Атрибуты выравнивания текста и управления цветом
- •1.2.5. Шрифты
- •1.2.6. Списки
- •1.2.7. Изображения
- •1.2.8. Таблицы
- •1.2.9. Якорь (элемент привязки документов, их частей, почты)
- •1.2.10. Фреймы
- •1.2.11. Формы, управляющие элементы
- •1.2.12. Использование компонентов ActiveX
- •1.2.13. Дополнительные теги
- •1.2.14. Листы стилей
- •1.3. Клиент и сервер
- •1.4. Создание asp‑файла
- •1.5. Основы создания сценариев
- •1.6. Управление браузером
- •1.6.1. Объект Window
- •1.6.2. Объект Frame
- •1.6.3. Объект Location
- •1.6.4. Объект Navigator
- •1.6.5. Объект History
- •1.6.6. Объект Document
- •1.6.7. Объект Links
- •1.6.8. Объект Anchors
- •1.6.9. Объект Forms
- •1.6.10. Объект Elemеnts
- •1.6.10.1. Кнопки (Button, Reset, Submit)
- •1.6.10.2. Переключатели (CheckBox, Radio)
- •1.6.10.3. Поля ввода (Text, TextArea, Password)
- •1.6.10.4. Списки выбора (Select)
- •1.7. Объекты asp
- •1.8. Работа с текстовыми файлами
- •1.9. Работа с базами данных
- •1.10. Визуальный редактор html‑документов Dreamweaver
- •1.10.1. Палитра основных объектов
- •1.10.2. Настройка Dreamweaver
- •1.10.3. Структура и размещение файлов
- •1.10.4. Создание заготовки html‑документа
- •1.10.5. Создание пустой таблицы
- •1.10.6. Форматирование ячеек таблицы
- •1.10.7. Размещение картинки
- •1.10.8. Создание меню
- •1 .10.9. Форматирование текста
- •1.10.10. Режимы работы объектов
- •1.10.11. Команды
- •1.10.12. Анимация
- •Вопросы для самопроверки и контроля
- •Глава 2. Weв-программирование на языке php
- •2.1. Основные положения
- •2.1.1. Среды разработки
- •2.1.2. Настройка php
- •2.1.3. Правила написания программы
- •2.2. Типы данных и переменные
- •2.2.1. Типы данных
- •2.2.2. Переменные
- •2.3. Выражения, операции и операторы
- •2.3.1. Выражения и операции
- •2.3.2. Операторы
- •2.4. Функции
- •2.5. Массивы
- •2.6. Объектно-ориентированное программирование
- •2.6.1. Объявление класса
- •2.6.2. Основные стандартные функции
- •2.7. Файлы
- •2.7.1. Открытие и закрытие файлов
- •2.7.2. Запись в файл
- •2.7.3. Чтение из файла
- •2.7.4. Запуск внешних программ на сервере
- •2.7.5. Работа с файловой системой
- •2.7.6. Работа с каталогами
- •2.8. Регулярные выражения и строки
- •2.8.1. Регулярные выражения
- •2.8.2. Стандартные интервальные выражения (символьные классы)
- •2.8.3. Функции поиска в стиле posix
- •2.8.4. Строковые функции
- •2.8.5. Преобразование текста в html
- •2.9. Динамическое создание страниц
- •2.9.1. Простые ссылки
- •2.9.2. Файловые компоненты (шаблоны)
- •2.10. Формы
- •2.10.1. Элементы для ввода информации.
- •2.10.2. Элементы форм, ориентированные на ввод с помощью мышки
- •2.10.3. Проблема выравнивания полей для различных браузеров и экранов дисплеев
- •2.11. Базы данных
- •2.11.1. Стандартные функции рнр для работы с MySql
- •2.11.2. Работа с сервером баз данных с различными субд через odbc
- •2.11.3. Другие субд
- •2.12. Шаблоны
- •2.12.1. Основные понятия
- •2.12.2. Схема построения шаблона
- •1) Регистрация файлов
- •2) Регистрация переменных
- •3) Обработка файла
- •4) Вывод файла
- •2.14. Безопасность
- •2.14.1. Проблемы конфигурации
- •2.14.2. Маскировка файлов данных и конфигурационных файлов
- •2.14.3. Хранение файлов за пределами корневого каталога документов
- •2.14.4. Безопасность данных
- •2.14.5. Шифрование данных
- •2.14.6. Аутентификация пользователя
- •2.15. Рекомендации
- •2.15.1. Программирование на php
- •2.15.2. Использование MySql
- •Вопросы для самопроверки и контроля
- •Глава 3. Практикум по разработке сайтов и Web-программированию
- •3.1. Разработка учебного сайта заказов на авиабилеты Приведем пример разработанного учебного сайта (рисунок 3.1.1).
- •3.2. Разработка Web-приложений на php для ведения таблиц в базе данных с субд MySql
- •3.2.1. Таблица единиц измерения
- •3.2.2. Таблица успеваемости студентов
- •3.3. Разработка Web-приложения на php для ведения таблицы единиц измерения в базе данных с субд Access
- •3.4. Разработка Web-приложения на php для поиска и вывода оценок студента из базы данных успеваемости с субд Access
- •3.5. Разработка Web-приложения на php по трудоустройству
- •3.5.1. Постановка задачи
- •3.5.2. База данных
- •3.5.3. Программа формирования и ведения резюме (Vipuskniki.Php).
- •3.5.4. Функция проверки правильности даты (proverkadati.Php)
- •3.5.5. Функция проверки номера года (proverkagoda)
- •3.5.6. Функция проверки натурального числа (proverkahisla)
- •3.5.7. Подпрограмма чтения поля с фотографией (VivodFoto.Php)
- •3.5.8. Программа ввода параметров поиска записей-резюме
- •3.5.9. Программа поиска записей-резюме (ObrabRabotodateli.Php)
- •3.5.10. Программа переноса сообщений работодателей кандидатам (ObrabRabotodateli2.Php)
- •3.6. Задачи для программирования
- •3.6.1. Формирование форм
- •3.6.2. Работа с базой данных
- •3.6.3. Дополнительные задачи
- •3.6.3.1. Циклы
- •3.6.3.2. Массивы
- •3.6.3.3. Функции
- •3.6.3.4. Формы
- •3.6.3.5.Файлы
- •3.6.3.6. Строки
- •3.6.3.7. Графика
- •3.6.3.8. Субд MySql
- •3.7. Контрольные работы
- •3.7.1. Разработка учебного сайта
- •3.7.2. Разработка учебного Web-приложения по ведению базы данных
- •Глава 4. JavaScript Введение
- •События JavaScript
- •Показать и скрыть элемент с текстом
- •Динамическая подгрузка html контента на JavaScript
- •Функция Confirm в JavaScript
- •Таймер на JavaScript
- •Анимация JavaScript
- •Калькулятор стоимости на JavaScript
- •Подсчет количества символов на JavaScript
- •4.1. Основы языка
- •Приложение 1. Ответы на вопросы для самопроверки
- •Приложение 2. Вопросы к экзамену или зачету.
- •Предметный указатель
- •Библиографический список
- •Плещёв Владимир Васильевич Разработка сайтов и Web-программирование:
- •С примерами и упражнениями
2.10. Формы
При вводе данных в форму используются различные управляющие элементы. Одна страница может содержать несколько форм. Описание формы заключается в следующие теги HTML:
<form action = действие method = "метод"
элементы формы
</form>
Действие указывает, какой сценарий должен обрабатывать форму, а метод определяет способ передачи данных этому сценарию. Существует два метода:
1) get передает все данные формы в конце URL. Из-за различных ограничений, связанных со спецификой языков и длиной данных, этот метод применяется редко.
2) post передает все данные формы в теле запроса. Этот метод используется чаще, чем get.
2.10.1. Элементы для ввода информации.
Текстовое поле предназначено для ввода информации небольшого объема и имеет описание вида:
<input type="text" nаме="имя_переменной" size="N" maxlength="N" value="">
type - тип элемента (для текстовых полей - text);
name - имя переменной, в которой сохраняются введенные данные;
size - общий размер текстового поля в браузере;
maxlength - максимальное количество символов, вводимых в текстовом поле;
value - значение, отображаемое в текстовом поле по умолчанию.
Особой разновидностью текстовых полей является поле для ввода паролей. Оно работает точно так же, как обычное текстовое поле, однако вводимые символы заменяются звездочками. Чтобы создать в форме поле для ввода паролей, достаточно указать type="password" вместо type="text".
Текстовая область используется для ввода несколько больших объемов текста и имеет описание вида:
<textarea name="имя_переменной" rows="N" cols="N" value=""></textarea>
name — имя переменной, в которой сохраняются введенные данные;
row / cols s — количество строк / столбцов в текстовой области.
2.10.2. Элементы форм, ориентированные на ввод с помощью мышки
Флажки (checkboxes) используются в ситуациях, когда пользователь выбирает один или несколько вариантов из готового набора.
Синтаксис определения флажка:
<input type="checkbox" name="имя переменной" value="начальное значение">
name - имя переменной, в которой сохраняются введенные данные (в данном случае - состояние элемента);
value - значение, присваиваемое переменной по умолчанию. Если флажок установлен, именно это значение будет присвоено переменной с указанным именем. Если флажок не установлен, значение атрибута value не используется.
Переключатель (radio button) представляет собой разновидность флажка; он работает практически так же за одним исключением - в любой момент времени в группе может быть установлен лишь один переключатель.
Синтаксис определения переключателя:
<input type="radio" name="имя_переменной" value="начальное_значение">
Как видите, синтаксис почти не отличается от определения флажка.
Раскрывающиеся списки особенно удобны в ситуации, когда имеется перечень допустимых вариантов, из которого пользователь должен выбрать один вариант.
Синтаксис определения раскрывающегося списка:
<select name="имя_переменной"> value="начальное_значение">
<option valuе="имя_переменной1 ">
…
<option value="имя_переменнойN">
</select>
name - имя переменной, в которой сохраняются строка, выбранная в списке;
value - значение, отображаемое в списке по умолчанию.
Скрытые поля не отображаются в браузере и обычно используются для передачи данных между сценариями. В РНР существует другое средство - сеансовые переменные.
Синтаксис определения скрытого поля:
<input type="hidden" name="имя_переменной" value="начальное_значение">
name - имя переменной, в которой сохраняются скрытые данные;
value- значение, по умолчанию сохраняемое в скрытом поле.
Пользователь может командой View Source вывести скрытые значения.
Кнопка отправки данных инициирует действие, заданное атрибутом action тега <form>.
Синтаксис определения:
<input type="submit" name="имя переменной" value="текст_на_кнопке">
type - тип элемента (для кнопки отправки данных — submit);
value - текст, по умолчанию отображаемый на кнопке.
Таких кнопок на форме может быть несколько под одним именем. При нажатии кнопки, в поле ввода вводится текст, который указано на нажатой кнопке и в программе обработки этой формы, имя которой указано в форме атрибутом action, можно определить по значению этого поля, какая кнопка была нажата. Таким образом, для каждой кнопки можно написать отдельную процедуру ее обработки.
Кнопка сброса отменяет все изменения, внесенные в элементы формы. Синтаксис определения:
<input type="reset" value=" текст _на_кнопке">
Пример: передача данных формы из одного сценария в другой
В первом примере пользовательские данные вводятся на одной странице и отображаются на другой.
<HTML><head> <title>Пример</title></head>
<body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040">
<form action="Primer1-1.php" method="post">
<b>Получите информацию!</b><br>
Ваше имя:<br>
<input type="text" name="name" size="20" maxlength="20" value=""><br>
Ваш почтовый адрес:<br>
<input type="text" name="email" size="20" maxlength="40" value=""><br>
<input type="submit" value="Продолжить">
</form>
</body> </HTML>
Когда пользователь щелкает на кнопке отправки данных (кнопка Продолжить!), форма обращается к программе Пример.php, текст, которой, приведен ниже.
<HTML> <head><title>Пример</title></head>
<body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040">
<?
// Вывести имя и адрес электронной почты.
$name=$_POST[name]; //чтение значения поля name из массива значений полей
$email=$_POST[email]; //чтение значения поля email из массива значений полей
print "Имя $name Почтовый арес $email";
?>
</body> </HTML>
