Управление контентом при помощи форм
Вставка записи
Итак, создание формы завершено, за исключением того, что не установлено действие, которое происходит после нажатия кнопки Submit. В этом задании будет применена серверная модель поведения Insert Record (Вставка записи), которая вставляет данные из формы в таблицу tbl_journal, а также мгновенно запускает обновление всего сайта.
Благодаря серверной модели поведения Insert Record, встроенной в Dreamweaver, весь необходимый SQL-код написан заранее. Тем не менее, на случай, если когда-то возникнет необходимость отредактировать запрос, использующий оператор INSERT, рекомендуется ознакомиться с его синтаксисом.
INSERT INTO tbl_table( fieldname1 , fieldname2 , fieldname3) VALUES( 'value1' , 'value2' , 'value3');
Работу с диалоговым окном Insert Record (Вставка записи) (а в данном случае также с диалоговым окном Update Record [Обновление записи], хотя оно еще не использовалось) можно рассматривать как упражнение, в котором элементы формы приводятся в соответствие с полями таблиц. Приведенный SQL-код показывает, почему диалоговое окно работает по такому принципу. Таблица указывается в строке INSERT INTO, после чего в скобках поочередно перечисляются все поля таблицы в том порядке, в котором должны быть вставлены данные.
После этого при помощи оператора VALUES (тоже в скобках) указываются те данные, которые требуется вставить. Каждое текстовое значение (то есть не число, и не выражение) заключается в одинарные кавычки. Несколько значений отделяются друг от друга запятыми. Значения, находящиеся внизу, соответствуют полям, расположенным вверху, – поэтому требуется, чтобы совпало не только количество полей и значений, но и порядок их расположения в списках.
-
Щелкните на кнопке Submit, чтобы выделить ее и приступить к добавлению серверной модели поведения Insert Record (Вставка записи).
Эта модель поведения будет применяться для того, чтобы вставить текстовую область ( journal_entry ) и скрытое поле ( author ) в поля journal_entry и author, расположенные в таблице tbl_journal.
-
В диалоговом окне Insert Record (Вставка записи) задайте следующие параметры: Connection – conn_newland, Insert into table – tbl_journal, After inserting, go to – index.asp . В нижней половине диалогового окна должны содержаться инструкции, необходимые для того, чтобы Dreamweaver вставил значение journal_entry в поле journal_entry , а author – в author .
В этой части упражнения указываются поля таблицы и соответствующие им поля формы, из которых пересылаются данные. Поскольку полям формы были даны те же имена, что и полям таблицы, в которые записывается информация, Dreamweaver автоматически разбивает их на правильные пары.
После заполнения формы будет загружаться страница index.asp. Таким образом, пользователи смогут убедиться, что введенная ими информация теперь отображается на странице.
Как и прежде, пользователи ColdFusion и PHP увидят, что диалоговое окно лишь в малой степени отличается от изображенного на рисунке, хотя действует точно так же.
-
Протестируйте реализованный здесь механизм, предварительно добавив администраторские данные доступа.
После подтверждения заполнения формы на странице отобразится введенный текст, отформатированный в соответствии с заданными HTML-тегами.
Если открыть в базе данных таблицу tbl_journal, отобразится первая строка введенного текста (при просмотре таблиц в Access текст, расположенный после разрыва строки, не отображается), а также имя учетной записи, использованной для получения доступа, которое хранилось в переменной сессии, после чего через форму было передано в базу данных.
Резюме
В этом уроке вы узнали, как:
- создавать административный раздел, который позволяет пользователям с легкостью решать задачи по администрированию сайта;
- вносить изменения в шаблон generic_template.asp в целях создания специального шаблона для страниц административного раздела;
- создавать форму, содержащую текстовую область с заданным по умолчанию текстом, который отформатирован при помощи HTML-тегов;
- создавать систему для идентификации пользователей, вносящих обновления в раздел "Traveler’s Journal";
- добавлять данные в базу при помощи серверной модели поведения Insert Record (Вставка записи).