Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создание динамических страниц с помощью PHP.

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

 

 

 

Цель работы: формирование умений использования PHP

 

Поясняющая информация

 

РНР - это действующий на стороне сервера встраиваемый в HTML язык, имеющий синтаксис, близкий к языку Си. Язык РНР дает возможность вставлять в файлы HTML инструкции языка PHP для создания динамического содержания. Эти инструкции обрабатывает препроцессор-интерпретатор РНР и заменяет их тем содержимым, которое производит этот код. Стандартное расширение файла с PHP-программой - php.

 

Принцип такой же, как и с SSI.

 

Синтаксис PHP

 

PHP-код включаются в html-код в следующем виде:

 

 

<?PHP текст_кода?>

 

 

или

 

 

<?PHP

текст_кода;

?>

 

Например, вставка содержимого файла будет выглядеть так:

 

 

<?PHP include "ssi/top.php";?>

 

Коментарии

 

PHP поддерживает комментарии 'C', 'C++' и оболочки Unix. Например:

 

 

<?php

echo "This is a test"; // Это однострочный комментарий в стиле c++

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

это ещё одна его строка */

echo "This is yet another test";

echo "One Final Test"; # Это комментарий в shell-стиле

?>

 

echo

 

<?php echo "Эта информация будет выведена в HTML";?>

 

Присвоение значений переменным

 

Переменные в программах на PHP, отделяются символами $.

 

$city = "Kazan";

 

city - переменная

 

Kazan - значение

 

Некоторые операции

 

инкремента/декремента;

++$a Pre-increment Увеличивает $a на 1, затем возвращает $a.

$a++ Post-increment Возвращает $a, затем увеличивает $a на 1.

--$a Pre-decrement Уменьшает $a на 1, затем возвращает $a.

$a-- Post-decrement Возвращает $a, затем уменьшает $a на 1.

 

 

арифметические:

$a + $b Сложение Сумма $a и $b.

$a - $b Вычитание Разность $a и $b.

$a * $b Умножение Произведение $a и $b.

$a / $b Деление Частное от деления $a на $b.

$a % $b Modulus Целочисленный остаток от деления $a на $b.

 

Выражения сравнения вычисляются в 0 или 1, означая FALSE или TRUE (соответственно). PHP поддерживает > (больше), >= (больше или равно), == (равно),!= (не равно), < (меньше) и <= (меньше или равно). Эти выражения чаще всего используются внутри условных операторов, таких как if.

 

сравнения:

$a == $b равно TRUE, если $a равно $b.

$a!= $b не равно TRUE, если $a не равно $b.

$a <> $b не равно TRUE, если $a не равно $b.

$a < $b меньше TRUE, если $a строго меньше $b.

$a > $b больше TRUE, если $a строго больше $b.

$a <= $b меньше или равно TRUE, если $a меньше или равно $b.

$a >= $b больше или равно TRUE, если $a больше или равно $b.

 

строковые:

 

Имеются две строковые операции. Первая - операция ('.'), которая возвращает объединение из правого и левого аргументов. Вторая - операция присвоения ('.='), которая присоединяет правый аргумент в левому аргументу.

 

$a = "Hello ";

$b = $a. "World!"; // теперь $b содержит "Hello World!"

 

$a = "Hello ";

$a.= "World!"; // теперь $a содержит "Hello World!"

 

Некоторые операторы

 

if/else

 

 

if ($a > $b) {

print "a больше чем b";

} else {

print "a не больше чем b";

}

 

while

 

 

$i = 1;

while ($i <= 10) {

print $i++; /* будет печататься значение $i++ до тех пор пока $i не больше 10 */

 

 

for

 

 

for ($i = 1; $i <= 10; $i++) {

print $i; /* будет выполнятся цикл от $i=1 $i <= 10 с шагом $i++ */

}

 

Установка cookie с помощью PHP.

 

setcookie - отправляет куки.

 

Вызовы этой функции должен быть перед тэгами <html> или <head>!!!

 

Синтаксис:

 

int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

 

Пример:

 

setcookie ("student", "pupkin");

 

Получение и использование cookie сервером с помощью PHP.

 

После того как куки установлены, доступ к ним может быть получен при загрузке страницы через массив $_COOKIE

 

Cookie автоматически декодируется и присваивается переменной с тем же именем, что и имя куки. Для просмотра содержимого нашей тестовой куки в скрипте просто используйте один из следующих примеров:

 

 

echo $student;

echo $_COOKIE["student"];

 

Необходимые компоненты для создания счетчика каждой страницы

 

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

 

Так как файлов будет много, создадим для них отдельный каталог на локальном диске /www/students/group/login/counter.

 

Чтобы его использовать в программе присвоим переменной $counter_path путь к этому каталогу.

 

Пример:

 

$counter_path = "путь к вашему каталогу";

 

Для автоматического формирования имени файлов для каждой страницы будем использовать URI этой страницы. Но в URI нам надо изменить все "/" на "_", потому что имя файла не может содержать /.

 

str_replace("что меняем","на что меняем", строка в которой производится замена) - функция замены

 

getenv("переменной окружения") - функция получает значение переменной окружения.

 

REQUEST_URI - переменная окружения URI

 

Присвоим исправленный URI переменной $count_page, т.е. имя создаваемого файла.

 

Пример:

 

$count_page = str_replace("что меняем","на что меняем", URI этой страницы);

 

getenv("REQUEST_URI") - URI этой страницы

 

Если файл ($count_page) уже существует, то есть страница посещалась ранее, то нужно считать значение счётчика из файла и увеличить его на единицу.

 

file("путь к каталогу/имя файла") - функция считывает содержимое текстового файла в массив, каждый элемент массива соответствует строке файла с символом '\n'

 

Откроим файл, и присвоим значения переменной $contents

 

Пример:

 

$contents = @file("путь к каталогу/имя файла")

 

$count = $contents[0] + 1;

 

Перед вызовом функции file(...) стоит знак '@' - это сделано для того, чтобы PHP не выдавал предупреждения, если файл отсутствует.

 

Если файл не существует, то есть мы на этой странице впервые, то присвоить счётчику единичное значение.

 

Обработка этого условия должна выглядеть так:

 

 

if (присвоение содержимого файла переменной $contents) {

увеличение счетчика на 1

} else {

присвоить счётчику единичное значение

}

 

Теперь откроем файл для записи нового значения счётчика

 

fopen("/путь к каталогу/имя файла", "w") - открывает файл или URL.

Параметр 'w' означает - Открыть только для записи; поместить указатель в начало файла и усечь файл до нулевой длины. Если файл не существует, делается попытка создать его.

 

Создадим указатель файла

 

Пример:

$file = fopen("/путь к каталогу/имя файла", "w");

 

 

запишем новое значение счётчика

 

Пример:

fwrite (указатель файла, строка для записи в файл) - функция записи в файл

 

Закроим файл

fclose (указатель файла) - закрывает открытый указатель файла

 

 

После этого нужно вывести значение счетчика, применив echo.

 

Практические задания

 

Задание 1

 

Создать новую страницу применив PHP вместо SSI.(Страница должна иметь вид главной страницы небольшого сайта)

 

Сделайте, чтобы cookie передавались не с помощью META - данных, а с помощью setcookie (указав свою фамилию, имя).

 

Проверьте работоспособность на сервере.

 

Укажите, в виде комментариев, для чего предназначена каждая PHP команда.

 

Задание 2

 

Создайте счетчик посещаемости страниц (файл count.inc). Для записи файлов со значением счетчика, используйте каталог counter (он у вас уже создан!!!).

 

Вставьте его с помощью include в (Фамилия).php.

 

Проверьте работоспособность на сервере.

 

Укажите, в виде комментариев, для чего предназначена каждая PHP команда.

 

К сдаче лабораторной предоставляются: работающие страницы на сервере с комментариями указанных тегов и их свойств в исходнике.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...