Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы / Web-технологии. Лабораторная работа 7.pdf
Скачиваний:
141
Добавлен:
23.09.2020
Размер:
162.8 Кб
Скачать
phpinfo( ) ;

Лабораторная работа № 7

Знакомство с Web-сервером и обработкой данных с помощью PHP-программ

Цель работы: познакомиться с настройками Web-сервера, с простейшими инструкциями языка PHP, использованием переменных, методами пересылки данных между клиентом и сервером, научиться использовать PHP-скрипты в HTML-документах.

Задание

1.Настроить Web-сервер для работы с PHP-программами.

При проведении лабораторных работ будем использовать локальный Web-сервер, настроенный на работу с каталогом /var/www. Для запуска PHP-скриптов файлы, содержащие HTML-документы и PHP-скрипты, должны быть помещены в этот каталог.

2. Создать HTML-документ prim1.html, содержащий произвольный текст, и поместить его в public_html. Запустить браузер и в строке адреса указать адрес: http://dctisrv/<login>/prim1, например, http://dctisrv/sp23n20/prim1. В браузере должен отобразиться текст HTML-документа prim1.html.

3. Создать в public_html файл info.php следующего содержания:

<?php

?>

ивызвать его в строке адреса браузера: http://dctisrv/info.php

4.Познакомиться с информацией о Web-сервере, появившейся на экране. Определить операционную систему, установленную на сервере, название и версию Web-сервера, версию PHP, IP-адреса сервера, удаленного компьютера, адрес каталога для хранения документов.

5.Создать файл prim2.php, выполняющий сложение двух числовых переменных. Исходные данные для вычисления передать как параметры при вызове php-файла:

http://dctisrv/prim2.php?var1=10&var2=4

6.Создать файл prim3.php, отображающий в окне браузера параметры Web-сервера.

Варианты задания:

1. IP-адрес удаленного компьютера, метод пересылки данных;

2. Программное обеспечение сервера, протокол передачи данных; 3. Каталог для хранения документов на сервере, IP-адрес сервера; 4. Почтовый адрес администратора сети, имя хост-компьютера.

7. Создать Web-страницу с формой HTML, которая содержит поля ввода и кнопку подтверждения. При нажатии кнопки подтверждения форма отсылает данные на сервер для обработки. Обработку данных выполняет php-сценарий. Вариант задания на обработку следует получить у преподавателя. Результат выводится на отдельной странице

вместе с исходными данными. Варианты задания:

1. Фамилия, экзаменационные оценки по трем предметам – вычислить средний балл и назначить на стипендию.

2. Фамилия, зарплата за три месяца – вычислить общую зарплату и определить наибольшую месячную зарплату.

3. Фамилия, зарплата для двух сотрудиков – вычислить общую зарплату и величину начислений на зарплату 26,2 %.

4. Фамилия, имя, рост, вес – вычислить коэффициент стройности по формле Рост- 100-Вес, в зависимости от вычисленного значения вывести рекомендации: сесть на диету, и дальше так держать, побольше есть пирожных.

8. Создать Web-страницу с формой HTML, содержащей поле ввода и кнопку подтверждения. В поле ввода вводится строка, состоящая из нескольких слов. Сценарий

php обрабатывает строку в соответствии с заданием. Варианты задания:

1. Вычислить количество слов в строке.

2. Вычислить количество чисел в строке.

3. Удалить второе слово из строки.

4. Удалить последнее слово из строки.

1

Методические указания

1. Пример простейшей php-программы (команда echo выводит текст на экран):

<?php

echo "This is a PHP script!"; ?>

2. Комментарии в php-программе:

// Это однострочный комментарий /* Это многострочный

комментарий, */

3. Встраивание html-кода в php-программу:

<?php

echo ”<html><head>”;

echo ”<title>Пример</title>”; echo ”</head><body>”;

echo ”This is a PHP script!”; echo ”</body></html>”; ?>

4. Встраивание php-скрипта в html-документ:

<html> <head><title>Пример</title></head> <body>

<?php

echo "This is a PHP script!";

?>

</body>

</html>

5. Типы данных:

логический

boolean

integer

целый

float

вещественный

string

строка

array

массив

object

объект

PHP не требует (и не поддерживает) явного определения типа при объявлении переменной; тип переменной определяется по контексту, в котором она используется.

6.Переменные

Переменные обозначаются с помощью знака $:

$sum=5; //Целая переменная – присваивается значение 5 $a=$b+6.8; //Вещественная переменная

$stroka=”0”; //Строка

Проверить тип переменной можно с помощью функции gettype:

2

gettype($a)

Если надо изменить тип переменной, используется функция settype: settype($a,$type);

где $type – строковая переменная, хранящая одно из значений, возвращаемых функцией gettype: “integer”, “float” и т.д.

Для проверки существования переменной применяется логическая функция isset(имя_переменной). Следующий пример проверяет, была ли нажата кнопка формы submit:

if (isset($submit))

{

}

...

7.Внешние переменные

Когда данные html-формы отсылаются на сервер, их значения помещаются в

ассоциативные массивы $_POST или $_GET в соответствии с методом отправки данных (GET или POST), используемом в форме, и в глобальный массив $_REQUEST. Если включена

директива register_globals в файле php.ini, любые переменные этой формы автоматически

делаются доступными скрипту PHP.

<form action="foo.php" method="POST">

Name: <input type="text" name="username"><br> <input type="submit">

</form>

Здесь мы использовали метод передачи “POST”, но мы также можем использовать метод

“GET”, при котором передаваемые данные будут видны в строке адреса в формате:

[имя файла]?[имя1]=[значение]&[имя2]=[значение] и т.д.

Когда вышеприведенная форма отправляется на сервер, значение из поля ввода text

будет доступно в $_POST["username"] и в $_REQUEST[“username”]. Если директива

конфигурации register_globals включена, то эта переменная будет также доступна как $username в глобальной области видимости, т.е. у PHP уже созданы переменные с именами,

идентичными именам полей формы. Это очень удобно, но из соображений безопасности директиву register_globals рекомендуется отключать. Тогда передать значение внешней

переменной в php-программу можно следующим образом:

$a = $_POST[“username”]; или $a = $_REQUEST[“username”];

в результате значение, передаваемое формой, будет получено локальной переменной a phpпрограммой.

Переменные окружения Переменные окружения представляют собой именованные значения параметров, передаваемых

php-сценарию от родительского процесса (операционной системы), они доступны с помощью

массива $_SERVER:

<?php

echo ‘Адрес удаленного компьютера: $_SERVER[“REMOTE_ADDR”]’;

?>

 

 

 

Переменная окружения

Значение

 

 

DOCUMENT_ROOT

Каталог, предназначенный для хранения документов

 

 

REMOTE_ADDR

IP-адрес удаленного компьютера

 

 

SERVER_SOFTWARE

Программное обеспечение, установленное на сервере

 

 

REQUEST_METHOD

Метод пересылки данных (GET или POST)

 

 

3

SERVER_PROTOCOL

Протокол, используемый для доставки данных

HTTP_HOST

Имя хост-компьютера

SERVER_ADMIN

Почтовый адрес сетевого администратора

SERVER_ADDR

IP-адрес сервера

Операторы в РНР: Арифметические операторы

Оператор Операция

+Сложение

-Вычитание

*Умножение

/Деление

% Деление по модулю (вычисляет остаток от деления), например 8 % 5 равно 3

Операторы отношения

Оператор

Значение

Пример

Имеет значение true, если

==

Равно

$h == $i

$h и $i равны

<

Меньше

$h < $i

$h меньше $i

>

Больше

$h > $i

$h больше $i

<=

Меньше или равно

$h <= $i

$h меньше или равно $i

>=

Больше или равно

$h >= $i

$h больше или равно $i

!=

Не равно

$h != $i

$h не равно $i

<>

Не равно

$h <> $i

$h не равно $i

Логические операторы

 

 

Пример

Название

Имеет значение true, если

$h && $i

И

Каждое из $h и $i имеет значение true

$h || $i

ИЛИ

Одно или оба из $h и $i истинны

$h and $i

И

Оба $h и $i имеет значение true

$h or $i

ИЛИ

Истинно либо $h, либо $i, либо оба

$h xor $i

Исключающее ИЛИ

Одно из $h и $i имеет значение true

! $h

Отрицание

Значение $h не true

 

8.Условные операторы

Оператор if .. else $i = 1;

if ($i == 0)

{

echo (“Эта строка не будет выведена”); echo (“\n”);

}

elseif ($i == 1)

{

echo (“Эта строка будет выведена”); echo (“\n”);

}

else (“Эта строка не будет выведена”);

9.Оператор switch

4