- •Обработка динмачиской html страницы
- •Назначение и виды веб серверов
- •Способы встраивания php скрипта в html код
- •Переменные и константы в php. Область определения переменных
- •Область видимости переменных
- •Переменные переменные
- •Константы
- •5. Особенности синтаксиса php
- •6. Глобальные и статические переменные php Глобальные переменные в php
- •Статические переменные в php
- •7. Система типов языка php
- •8. Вывод данных в php
- •Арифметические операторы php
- •Логические операторы php
- •Строковые операторы php
- •Операторы присвоения в php
- •Операторы сравнения в php
- •Операторы инкремента и декремента в php
- •Операторы эквивалентности php
- •Операции с символьными переменными в php
- •Приоритеты выполнения операторов в php
- •Операторы исполнения внешних команд в php
- •Операторы для работы с массивами php
- •Операторы управления ошибками php
- •Операторы классов php
- •Поиск и замена подстрок
- •Регулярные выражения
- •Жадные и ленивые квантификаторы в регулярных выражениях
- •Использование html-форм для передачи данных на сервер
- •Для метода get
- •Для метода post
- •Замечание
- •Замечание
- •Замечание
- •Замечание
- •Замечание
- •Замечание
- •Типы ресурсов Предопределенные константы
- •Проверка существования файла
- •Функция file_exists
- •Функция is_writable
- •Функция is_readable
- •I. Открытие файла
- •II. Манипуляции с данными файла
- •III. Закрытие файла
- •Запись в файл
- •Чтение из файла
- •Взаимодействие php и MySql
- •Создание базы данных с помощью html-формы
- •Листинг 1. Код html-формы
- •Листинг 2. Код записывающей html-формы
Создание базы данных с помощью html-формы
Как известно, HTML-форма, это - блок HTML-страницы позволяющий вводить данные из Web-браузера на удаленный или локальный Web-сервер. Блок формы помечается тэгами <form...> и </form>. Поля внутри HTML-формы могут иметь разные типы, например список или текстовое поле. В листинге 1 показан пример описания формы, а на рис. 1 вид этой формы в Web-браузере.
Листинг 1. Код html-формы
<form method="post" action="..."> A: <input type="text" name="A" size="10" /><br /> B: <select name="B" multiple="multiple"> <option value="b1" selected="selected">b1</option> <option value="b2">b2</option> </select><br /> C: <input type="radio" name="C" checked="checked" value="c1" />c1 <input type="radio" name="C" value="c2" />c2<br /> D: <input type="checkbox" name="D" checked="checked" value="d1" />d1 <input type="checkbox" name="D" value="d2" />d2<br /> <input type="submit" value="Submit" /> <input type="reset" value="Reset" /> </form>
Рис. 1. Вид HTML-формы
Начало формы
Конец формы
HTML-форма обычно используется для ввода только одной записи в таблицу базы данных. Каждый атрибут name определяет имя соответствующего поля формы или вводимой записи. Одновременно, для сервера Smans, это же имя рассматривается как имя колонки в соответствующей таблице. Дополнительная информация, обычно невидимая для пользователя, передается серверу Smans благодаря управляющим полям HTML-формы. Наиболее важным из управляющих полей является $Table. Атрибут action в дескрипторе form задает имя Smans-сервлета /servlet/record, принимающего и обрабатывающего HTML-форму с управляющими полями. Например:
<form action="../servlet/record" method="post"> <input type="hidden" name="$Table" value="Order" /> ... </form>
Поле $Table обозначает таблицу формируемую в базе данных. Рассмотрим пример записывающей управляющей HTML-формы, формирующий таблицу Order в листинге 2 и рис. 2.
Листинг 2. Код записывающей html-формы
<form action="../servlet/record" method="post"> <input type="hidden" name="$Table" value="Order" /> Date: <input type="text" name="Date" /><br /> Name: <input type="text" name="Name" /><br /> Phone: <input type="text" name="Phone" /><br /> Company: <input type="text" name="Company" /><br /> Product Type: <input type="text" name="Product Type" /><br /> Product Name: <input type="text" name="Product Name" /><br /> Quantity: <input type="text" name="Quantity" /><br /> <input type="submit" value="Submit Data"> <input type="reset" value="Reset Form"> </form>
Рис 2. Вид записывающей HTML-формы
Начало формы
Date:
Name:
Phone:
Company:
Product
Type:
Product
Name:
Quantity:
Конец формы
Каждая входная запись должна иметь первичное ключевое поле(я). В рассматриваемом случае таблица Order будет иметь ключевое поле Order. Так как поле Order отсутствует в HTML-форме, значение первичного ключевого поля Order автоматически генерируется сервером Smans как номер записи (ряда) таблицы в увеличивающемся порядке. Если таблицы Order в базе данных еще нет, она будет создана. В случае, если таблица уже существует с другими колонками, к ней будут добавлены новые колонки, описываемые в форме. В результате таблица, как минимум, будет иметь следующий список колонок:
Order Date Name Phone Company Product Type Product Name Quantity
Вы можете легко изменить выводимое сообщение или последующие действия в случае успешного ввода записи с помощью поля $Forward. Например:
<input type="hidden" name="$Forward" value="Confirm.html" />
Все управляющие поля можно называть также управляющими параметрами. Кроме перечисленных выше, используются параметры $PKey. Они полезны, если таблица имеет несколько первичных ключевых колонок, когда необходимо предотвратить повторное появление нескольких значений колонок. Каждый параметр $PKey указывает на имя обычного параметра (поля) в HTML-форме, например:
<form action="../servlet/record" method="post"> <input type="hidden" name="$Table" value="Product"> <input type="hidden" name="$PKey" value="Product Type" /> <input type="hidden" name="$PKey" value="Product Name" /> <input type="text" name="Product Type" /> <input type="text" name="Product Name" /> ...
В дистрибутиве сервера Smans есть соответствующие примеры, они находятся в директории hforms. Простейшие примеры реализованы на HTML-страницах wapp/hforms/Order.html иwapp/hforms/Product.html. Обратиться к странице из Web-браузера можно так: http://<domain>[/<application>]/hforms/Order.html. После ввода записи, сервер Smans выдаст некоторое сообщение, по умолчанию:
Data recorded. Thanks! Please return back and continue.
