Написание простой CMS вручную
Создание сценария для удаления записей
Написать сценарий, удаляющий профили стран, гораздо проще, чем сценарий для обновления. Как и прежде, доступ к сценарию пользователи получают с основной страницы, создание которой уже завершено, поэтому осталось только добавить сценарий, удаляющий записи из базы данных.
-
Откройте файл admin_cp_delete_processor.asp и в режиме Code (Код)
удалите все его содержимое.
Теперь страница будет содержать только короткий сценарий и код, переводящий пользователя на основную страницу, так что HTML кода на ней быть не должно.
-
Добавьте на страницу код, предназначенный для соединения с базой данных.
Для ASP:
<% Dim dbConn set dbConn = server.CreateObject("adodb.connection") dbConn.open("newland") %>
Для ColdFusion:
<cfquery name="delete_country" datasource="newland"> </cfquery>
Для PHP:
<?php // Set up connection to MySQL $host = "localhost"; $user = "[введите имя пользователя]"; $pwd = "[введите пароль]"; $dbConn = mysql_connect($host,$user,$pwd); // Connect to newland_tours database $database = "newland_tours"; mysql_select_db($database); ?>
Далее следует добавить код, отправляющий SQL запрос.
-
В пустой строке, оставленной в предыдущем шаге, добавьте код,
удаляющий выбранную запись, на которую указывает параметр URL -
адреса.
Для ASP (весь код в одну строку):
dbConn.Execute("DELETE FROM tbl_country WHERE countryID=" & Request.QueryString("countryID"))
Для ColdFusion (разрешено разбивать код на строки):
DELETE FROM tbl_country WHERE countryID=#URL.countryID#
Для PHP:
$query_deleteCountry = "DELETE FROM tbl_country WHERE countryID=".$_GET['countryID']; $deleteCountry = mysql_query($query_deleteCountry);
При использовании оператора DELETE не требуется указывать каждое поле, которое необходимо удалить, поскольку удаляются все поля записи. Это облегчает процесс написания кода. Но если при этом случайно забыть о предложении WHERE и не добавить его в код, то будет удалена вся таблица.
-
Добавьте на страницу код, необходимый для перехода пользователя на основную страницу.
Для ASP (строка над закрывающим элементом %> ):
Response.Redirect("admin_cp_master.asp")
Для ColdFusion (строка после закрывающего тега </cfquery> ):
<cflocation url="admin_cp_master.cfm">
Для PHP (перед закрывающим тегом ?> ):
header("Location: admin_cp_master.php");
Этот код переводит пользователя на основную страницу, где он может убедиться в том, что удаление прошло успешно.
-
Сохраните файл и загрузите его на сервер. Нажмите клавишу (F12), чтобы открыть страницу admin_cp_master.asp в браузере и удалите страну, добавленную в одном из предыдущих упражнений урока.
Как и написано в инструкции, удаление производится сразу же, и отменить его невозможно – не поможет даже кнопка Back (Назад).
Что дальше
После создания системы управления контентом CMS завершается и обучающий курс этой книги. Обучение программированию и разработке динамичных веб-сайтов представляет собой не слишком тривиальную задачу, которую трудно реализовать в полной мере в рамках одного пособия. Однако эта книга дает представление об основах разработки динамических приложений, достаточных для самостоятельной разработки сайтов, управляемых базами данных.
Поскольку сайт и база данных Newland Tours создавались специально в учебных целях, их рекомендуется использовать для дополнительной практики. Например, для улучшения навыков создания CMS можно создать приложение для управления описаниями путешествий.
Для перехода к практической деятельности целесообразно просмотреть сайты, поддержкой которых вы занимаетесь, и попытаться определить способы повышения их эффективности и облегчения управления при добавлении динамических сценариев. Во время выполнения упражнений книги было написано немало кода ASP, ColdFusion и PHP, и, скорее всего, полученного опыта вполне достаточно для успешного устранения проблем. Решение более сложных задач описано в других книгах или учебных курсах по ASP, ColdFusion или PHP, которые можно найти в книжных магазинах или в сети. Нельзя не отметить, что после создания сайта Newland Tours работать с другими учебными материалами окажется намного проще.
Резюме
В этом уроке вы узнали, как:
- планировать системы управления содержимым с учетом всех ее страниц и перемещения данных между ними;
- создавать набор записей вручную, без использования диалогового окна Recordset;
- создавать сценарий, добавляющий в базу новую запись на основе данных, введенных в форму;
- формировать список для формы при помощи двух наборов записей, цикла и условной конструкции;
- создавать сценарий, обновляющий существующую запись на основе данных, введенных в форму;
- создавать сценарий, удаляющий существующую запись из таблицы в базе данных.