Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ПР_РИЭУБД_2203.doc
Скачиваний:
39
Добавлен:
03.05.2015
Размер:
2.31 Mб
Скачать

Работа с виртуальными хостами

Вниманию пользователей Windows NT, 2000 или XP (и старше). Прежде, чем продолжить, убедитесь, что у вас запущена служба «DNS-клиент». Это можно сделать, открыв Панель управления — Администрирование — Службы. В противном случае виртуальные хосты работать не будут.

Если вы занимаетесь разработкой Web-сайтов, вам наверняка хотелось бы обслуживать одним сервером сразу несколько хостов. Иными словами, введя в браузере путь http://localhost, вы попадете на один сайт, а, напечатавhttp://test.ru, — совсем на другой (но тоже на локальной машине).

С появлением проекта Денвер ситуация упростилась. Теперь, чтобы добавить новый хост, вам нужно проделать следующее:

  • Создать в папке /home директорию с именем, совпадающим с именем виртуального хоста (в нашем случае test.ru) - имя директории содержит точку. Эта директория будет хранить директории документов доменов третьего уровня для test.ru. Например, имя abc.test.ru связывается сервером с директорией /home/test.ru/abc/, а имя abc.def.test.ru — с /home/test.ru/abc.def/. Поддиректория www соответствует адресам www.test.ru и просто test.ru. На рисунке 12.4 показано, как может выглядеть директория /home. Не забудьте создать папку www в директории виртуального хоста, ведь именно в ней будут храниться его страницы и скрипты.

  • Перезапустить сервер, воспользовавшись, например, ярлыком Restart servers на Рабочем столе.

Рис. 12.4 Пример создания нового хоста.

Контроллер удаленного доступа

Как только вы начнете создавать виртуальные хосты, Контроллер удаленного доступана некоторых системах будет при первом открытии хоста предлагать вам альтернативу наподобие следующей (Рис 12.5). Всегда выбирайтеПовторить.

Рис. 12.5. Выбор альтернативы подключения к Интернету.

Если ваш Контроллер удаленного доступана ответПодключитьсяначинает набирать номер на модеме, идите вСервис — Свойства обозревателя — Подключениеи в разделеНастройка удаленного доступапоставьте флажокНе использовать(илиNever Dial a connection).

Прокси-сервер

Многие версииWindows поставляются со включенным по умолчанию прокси-сервером. Это может вызвать кое-какие проблемы при работе с Денвером (впрочем, легко разрешимые).

  • Если после запуска Денвера страница http://localhost не работает, вероятнее всего, вам нужно отключить прокси-сервер в настройках браузера. Для <простых> хостов (вроде localhost, test, dklab и т.д.) обычно достаточно флажка «Не использовать прокси-сервер для локальных адресов» на вкладке Свойства обозревателя — Подключение — Настройка сети — Дополнительно.

Если localhostработает, аtest1.ru(и вообще хосты, имя которых состоит из нескольких частей) — нет, то, вероятно, ваш браузер не может распознать последний хост как локальный. В этом случае Вам необходимо либо полностью отключить прокси-сервер, либо же перечислить хосты в спискеПодключение — Настройка сети — Дополнительно — Исключения.

Задание.

    1. Установить Denver.

    2. Установить MySql Front.

    3. Cоздать серверную БД, используя возможности MySql Front.

    4. Импортировать в таблицы БД данные из текстовых файлов.

    5. Выполнить базовую настройку учетных записей Mysql:

      1. назначить пароль для пользователя с идентификатором root

      2. создать учетные записи - user_1 ,user_2

      3. назначить различные права доступа для разных учетных записей по своему усмотрению (полный доступ, только чтение, создание базы и добавление записей, удаление и обновление записей)

      4. проверить работу настроек прав доступа для различных учетных записей.

    6. Выполнить запрос на обработку данных.

Контрольные вопросы:

  1. Какая команда устанавливает права доступа для учетных записей?

  2. Перечислите последовательность действий для импортирования данных из текстовых файлов.

  3. Запишите команду, которая запрещает удаление данных из таблицы Table1 пользователю User_3.

  4. В какой таблице хранятся пользователи базы данных?

  5. Что такое хост?

  6. Какие программы входят в комплект Denver?

Практическая работа 13

Создание серверных страниц

Цель: Научиться использовать операторы PHP для создания серверных страниц.

Пояснения к работе:

Создайте текстовый файл под именем test.php3 и напишите в нем следующее:

<html>

<body>

<?php

$myvar = "Hello, World";

echo $myvar;

?>

</body>

</html>

Теперь откройте броузер и наберите в нем URL созданной страницы, например: http://stage/test.php3. На экране в броузере вы должны увидеть следующее:

Hello, World

Открыв исходный текст страницы вы увидите в ней следующее:

<html>

<body>

Hello, World

</body>

</html>

Это произошло потому, что PHP-движок на сервере просмотрел страницу, нашел в ней PHP-код, обработал его и выдал результат, который Web-сервером был отправлен в ваш броузер. Рассмотрим подробнее нашу первую PHP-страницу.

Первое, на что надо обратить внимание в вышеприведенном коде, это ограничители. Найдите строку, которая начинается с <?php. Для PHP-движка этот код означает начало блока команд, которые надо обработать и выполнить. Заканчивается блок ограничителем ?>. Иными словами символы <?php и ?> выполняют роль скобок. Все, что находится вне их, PHP-движок пропускает и отправляет в Web без всякой обработки, выполняя лишь только то, что находится внутри этих "скобок". Мощь PHP заключается в том, что PHP-код можно вставлять в любое место HTML-страницы. Вместо скобок <?php … ?>

можно использовать и сокращенную нотацию <? … ?>.

Некоторым программистам, которые работают также с ASP, удобнее писать скобки используя комбинацию <%

… %>. PHP можно настроить на использование и таких скобок, если вам лень перестраиваться.

Возможен еще один из вариантов скобок показан ниже:

<SCRIPT LANGUAGE="PHP">

инструкции

<SCRIPT>

Еще одна деталь, на которую вы обратите внимание, - это точка с запятой в конце каждой строки кода. Это так называемые "разделители", которые служат для отделения одного набора команд от другого.

Заметим, что перед словом myvar стоит символ $ (доллар). Этот символ сообщает PHP, что перед ним переменная. Мы присвоили (используя символ "=") строку "Hello, World" переменной $myvar. Переменные помимо строк могут содержать числа и массивы. В любом случае любая переменная всегда обозначается символом $.

Истинная сила языка PHP содержится в его функциях. В теории, функция – это блок команд, который выполняет какую-то операцию. Если скомпилировать PHP со всеми имеющимися для него дополнениями, вы получите доступ к более чем 700 функциям. Так что, свои собственные функции вам придется писать разве что в исключительном случае.

Каждая функция имеет свое название и синтаксис. В первом нашем примере была использована функция echo,которая выводит строку, заключенную в кавычки, или переменную, которая идет следом.

Давайте еще раз внимательно рассмотрим исходную PHP-страницу. В принципе, она ни чем не отличается от обычной HTML-страницы. Только вместо расширения .html (или .htm) мы ей присвоили расширение .php3. Для Web-сервера это расширение послужило сигналом, что данную страницу перед отправкой надо пропустить через PHP-движок. Строки <html><body> …. </body></html> будут проигнорированы PHP-движком. Он обратит внимание только на то, что написано внутри скобок <?php … ?>. В принципе, всю HTML-страницу мы могли бы сгенерировать с помощью PHP-команд, например:

<?php

echo "<html>";

echo "<body>";

$myvar = "Hello World";

echo $myvar;

echo "</body>";

echo "</html>";

?>

Самый простейший способ общения с пользователем через Web-страницу, это послать ему в странице какой-нибудь текст. Это можно сделать двумя способами: с помощью функции print или echo:

<?php

print "Hello, world.";

?>

<?php

echo "Hello, world.";

?>

Print это функция, которая отправляет броузеру текст. Между словом "print" и символом ";" мы помещаем строку, которая обозначается кавычками. Все, что находится внутри кавычек, будет отправлено броузеру. Зная это, мы теперь можем отправить текст "Hello, World" несколькими способами. Создайте файл print.php3 со следующим текстом:

<html>

<body>

<?php

print "Здесь используется функция print.";

print "<p>";

echo "А здесь использована функция echo.",

" ",

"P.S. Можно добавить вторую текстовую строку.",

" ",

"Текстовые строки разделяются запятыми.";

print "<p>";

printf ("Здесь используется функция printf.");

print "<p>";

printf ("Функция printf в основном используется для форматированного вывода чисел и строк.");

print "<p>";

printf ("Не забывайте о скобках, когда пользуетесь функцией printf.");

?>

</body>

</html>

В результате выполнения кода в броузере мы получим следующий результат:

Здесь используется функция print.

А здесь использована функция echo. P.S. Можно добавить вторую текстовую строку. Текстовые строки разделяются запятыми.

Здесь используется функция printf.

Функция printf в основном используется для форматированного вывода чисел и строк.

Не забывайте о скобках, когда пользуетесь функцией printf.

Функция print – самый простейший способ отправки текста в броузер. Функция echo работает так же, как и print, однако позволяет добавлять к первой текстовой строке, другие строки, разделяя их запятыми.

Функция printf отображает числа в определенном формате, например, выводит дробное число с определенным количеством нулей после запятой, поэтому в функции printf использование скобок обязательно.

При работе со скобками пользуйтесь следующими тремя правилами:

  • echo никогда не используется со скобками

  • printf всегда используется со скобками

  • print используется и так и так

Создание страницы с данными

Выведем данные из базы данных в HTML-страницу. Для общения с MySQL из PHP понадобятся следующие функции.