- •Инструменты разработки интернет-приложений
- •Введение
- •Интернет – основа интерактивного бизнеса
- •Электронный бизнес – закономерный этап инновационной спирали
- •Особенности Интернет как среды электронной коммерции
- •Основные определения
- •Этапы разработки и продвижения Интернет-проекта
- •Планирование Интернет-проекта
- •Определение контента сайта
- •Размещение сайта в Интернет
- •Регистрация в поисковых системах
- •Регистрация в рейтингах
- •Баннерная реклама
- •Обмен текстовыми ссылками
- •Массовая рассылка рекламных сообщений
- •Размещение объявлений о сайте на электронных досках
- •Рассылка в телеконференции (группы новостей)
- •Контрольные вопросы
- •Принципы работы интернет-приложений
- •Архитектура «клиент-сервер»
- •Отладка web-приложений на сервере
- •Сравнительный анализ возможностей web-технологий
- •Использование баз данных в Интернет
- •Интерактивное взаимодействие с помощью форм
- •Элементы управления формы
- •Способы передачи параметров Строка передаваемых параметров
- •Метод get
- •Метод post
- •Контрольные вопросы
- •Разработка интернет-приложений на языке php
- •Область применения языка php
- •Теги сценарияPhp
- •Константы
- •Переменные
- •Типы данных
- •Скалярные типы
- •Составные типы Массивы
- •Приведение типов
- •Управляющие конструкции
- •Операторы
- •Функции
- •Определение и вызов функций
- •Вложенные функции
- •Возврат значений из функции
- •Рекурсивные функции
- •Объекты (классы)
- •Работа с файлами
- •Стандартные функции php для работы с файлами
- •Обработка данных в нескольких файлах Использование атрибута action
- •Операторы включения файлов
- •СубдMySql
- •История созданияMySql
- •Взаимодействие с субдMySql
- •Способ хранения таблиц и баз данных
- •Типы таблиц
- •Типы данных в субдMySql
- •Стандартные функции рнр для работы с MySql
- •Соединение с сервером
- •Выбор базы данных
- •Выполнение указанного запроса
- •Извлечение информации
- •Ввод данных
- •Обработка ошибок
- •Контрольные вопросы
- •Разработка интернет-приложений в delphi
- •КонсольноеCgi-приложение
- •Использование специальных средствDelphIдля разработкиweb-приложений
- •КомпонентTWebModul
- •КомпонентTPageProducer
- •Компоненты для работы с базами данных
- •Редактирование наборов данных
- •Добавление записей
- •Удаление записей
- •Обновление записей
- •Создание и использование форм ActiveForm
- •Отладка приложений на локальном сервереWebAppDebugger
- •Обзор дополнительных возможностейDelphiдля создания сетевых приложений
- •Контрольные вопросы
- •Список литературы
- •Приложение а Листинг программы проверки переменных окружения сервера apache
- •Приложение б Поисковые системы и каталоги
- •Приложение в Службы баннерного обмена
Редактирование наборов данных
Вставка, обновление и удаление записей осуществляется с помощью форм, в которых резервируются названия (PathInfo) действий CGI-приложения для выполнения различных операций. Значения параметров вводятся в текстовые поля и пересылаются в базу данных с помощью действий с зарезервированными названиями. Ключевую роль играют идентификаторы текстовых полей, задаваемые атрибутом NAME. В CGI-приложении они воспринимаются как переменные, имеющие значения, введенные пользователем.
Добавление записей
Пример редактирования таблицы Country из базы данных DBDEMOS, поставляемой с DELPHI:
Дополнить проект, рассмотренный в примере раздела TDataSetTableProducer следующим образом:
Добавить на модуль компонент PageProducer1 для формирования страницы с текстовыми полями для ввода информации в таблицу базы данных. В свойстве HTMLDoc прописать HTML-код следующего содержания:
<html>
<form action=/cgi-bin/название_файла.exe/save method=POST>
Страна <input type=text name="N"><br>
Столица <input type=text name="Cp"><br>
…………и так далее…………………
<input type=submit value=Сохранить><br>
<a href="/cgi-bin/название_файла.exe/prew">Показать </a>
</form>
</html>
Создать действие модуля для показа начальной страницы, сформированной компонентом PageProducer1, выполняющееся по умолчанию.
Добавить в модуль новое действие для сохранения данных в таблице. Задать его свойства:
PathInfo = save (зарезервированное на форме значение);
Producer = PageProducer1.
Прописать обработчик события OnAction данного действия (используются методы работы с набором данных):
Table1.Open;
Table1.Insert;
Table1Name.Value:= Request.ContentFields.Values['N'];
Table1Capital.Value:= Request.ContentFields.Values['Cp'];
Table1Area.Value:= StrtoFloat(Request.ContentFields.Values['A']);
………… и так далее ………
Table1.Post;
Table1.Close;
Полям таблицы присваиваются значения, введенные пользователем в текстовых полях на форме
В данном обработчике вставку записей можно реализовать путем выполнения SQL-запроса с оператором INSERT:
procedure……………
var name, cap, cont, ar, pop: string;
begin
name:=Request.ContentFields.Values['N'];
cap:=Request.ContentFields.Values['Cp'];
cont:=Request.ContentFields.Values['Cnt'];
ar:=Request.ContentFields.Values['A'];
pop:=Request.ContentFields.Values['P'];
Query1.SQL.Add('Insert into Country (Name,Capital,Continent,Area,Population) values ('''+name+''',’’’+cap+''','''+cont+''','''+ar+''','''+pop+''')');
Query3.ExecSQL;
end;
Добавить в модуль новое действие для показа страницы, сформированной компонентом DataSetTableProducer1. Задать его свойства
PathInfo = prew (зарезервированное на форме значение);
Producer = DataSetTableProducer1.
Обработчик события OnAction созданного действия:
Table1.Open;
Response.Content:=DataSetTableProducer1.Content;
Table1.Close;
Удаление записей
Удаление записей (строк) обычно производится по какому-либо критерию. Поэтому, в первую очередь, необходимо организовать ввод этого критерия на форме и зарезервировать название действия для удаления. Например:
<form action=http://localhost/cgi-bin/название_файла.exe/del method=post>
Страна<input type=text name="F">
<input type=submit value=Удалить>
</form>
В обработчике события OnAction действия для удаления записей можно использовать различные методы, например:
организовать последовательный перебор записей в цикле и сравнение их с критерием:
while not Table1.EOF do begin
if Request.ContentFields.Values['F']=Table1Name.Value then
table1.Delete;
Table1.Next; end;
организовать выполнение параметрического запроса на удаление (DELETE FROM Country WHERE Name = :F), где в параметр передается значение, введенное пользователем на форме:
Query1.ParamByName('F').Value:=Request.ContentFields.Values['F'];
Query1.ExecSQL;