Web-программирование и базы данных. Учебный практикум
.pdf
Упражнения по PHP при работе с файлами на сервере
Упражнение 3.1. Открытие или создание файлов
<html>
<head>
<title></title>
</head>
<body>
РАБОТА С ФАЙЛАМИ <br />
СОЗДАНИЕ И ОТКРЫТИЕ ФАЙЛОВ <br /> <br />
В примере выполняется открытие или создание файла proba1.txt на сервере, <br />
(если файла нет, то он создается)<br />
параметр«a+»означают,чтофайлпредназначендлячтенияизаписи<br />
параметр «t» означают, что файл — текстовой <br /> <br />
ЗАДАНИЕ: <br />
Проверьте работу программы<br />
Измените имя файла proba1 на вашу фамилию,<br /> записанную латинскими буквами<br />
Проверьте работу программы<br /> <br />
<?php
$namf=»proba1.txt»; //переменная для имени файла $fi=fopen($namf,»a+t»); //создание или открытие файла
if (!$fi) exit(«ошибка создания файла или открытия файла»);//проверка на ошибку
echo «создание или открытие файла $namf прошло успешно»; fclose($fi); //закрытие файла
?>
</body>
</html>
В этом упражнении показано, как создавать или открывать созданный ранее файл на сервере с помощью функции fopen с параметрами. Обычно при таких операциях проводится проверка на ошибку. Если ошибка, то сообщается о ней, и происходит выход из программы.
81
Упражнение 3.2. Создание счетчика посещений сайта с использованием файла
<html> |
|
|
<head> |
|
|
<title></title> |
||
</head> |
|
|
<body> |
|
|
СЧЕТЧИК ПОСЕЩЕНИЙ <br /> |
||
<?php |
|
|
$fi=fopen(“counter.txt”,”a+t”); |
||
if (!fi) exit(«ошибка открытия или создания файла»); |
||
$z=fgets($fi); |
//получаем из файла значение счетчика |
|
$z=$z+1; |
//увеличиваем количество посещений |
|
ftruncate($fi,0); //очищаем файл |
||
fputs($fi,$z); |
//записываем в файл новое значение счетчика |
|
fclose($fi); |
//закрываем файл |
|
echo $z; |
|
|
?> |
|
|
</body>
</html>
Вэтом упражнении показано, как при помощи работы
сфайлом на сервере реализовывается счетчик посещения сайта.
82
Упражнение 3.3. Программа счетчика посещений, выделенная в отдельный файл
<?php
//Это программа, выделенная в отдельный файл //Но она тоже работает. Попробуйте $fi=fopen(«counter.txt»,»a+t»);
if (!$fi) exit(«ошибка открытия или создания файла»);
//flock($fi,2); //устанавливаем блокировку на файл для других пользователей
$z=fgets($fi); //получаем из файла значение счетчика $z=$z+1;
ftruncate($fi,0); //очищаем файл
fputs($fi,$z); //записываем в файл новое значение счетчика flock($fi,3); //снимаем блокировку на файл для других пользователей fclose($fi);
echo $z; ?>
Упражнение показывает, что программа на PHP может работать, даже если она выделена в отдельный файл. Эта программа является счетчиком посещений сайта.
Упражнение 3.4. Генерация гиперссылки на php-файл
<html>
<head> <title>гиперссылки</title> </head>
<body>
ЗАДАНИЕ:
Сделайте гиперссылку на первое упражнение по образцу <br />
Обратите внимание, что внутри двойных кавычек <br />
в тегах необходимо использовать одиночные кавычки!!! <br />
Ссылки на php-файлы работают только в среде сервера!!! <br /> <br />
<?php
echo «<a href=’001_file.php’>перейти на первое упражнение</a> « ; ?>
</body>
</html>
Это упражнение показывает, что можно генерировать гиперссылки на PHP-файлы.
83
Упражнение 3.5. Окончательный вариант счетчика посещений сайта с помощью файла
<html>
<head>
<title></title>
</head>
<body>
Окончательный вариант страницы со счетчиком<br /> (счетчик находится в другом файле и <br /> выполняется для каждого посетителя 1 раз) <br /> <br />
<?php
echo(«сайт посетило: «); require_once(“003.php”); echo(“ чел. «);
?>
</body>
</html>
Это упражнение показывает реализацию счетчика посещений с использованием выделенного отдельно PHP-файла. Должно быть указано имя файла, содержащее упражнение 3.3.
Упражнение 3.6. Итоговая работа по созданию счетчика посещений с дополнительными возможностями и табличным дизайном
<html>
<head>
<title></title>
</head>
<body>
ИТОГОВАЯ КОНТРОЛЬНАЯ РАБОТА <br /> Создайте страницу со счетчиком посещений <br /> Используйте табличный дизайн <br />
Счетчик выводите в ячейку таблицы<br> Выделяйте категории посетителей (5-й, 10-й,...)<br />
Для них выводите поздравление и специальное изображение <br /> <br />
<?php
?>
</body>
</html>
В этом упражнении проверяется не только умение создавать счетчик посещений, но и проверяется усвоение предыдущего учебного материала.
84
Упражнение 3.7. Передача информации на сервер с помощью оператора get
<form method=GET>
<input type=text name=name value=”<?php echo $_GET[‘name’]; ?>”> <input type=submit name=submit value=”send”>
</form>
<?php
//Вывод GET-параметра
//
//
//echo $_GET[‘name’]; ?>
Проверьте работу файла этого упражнения.
|
Упражнение 3.8. Передача |
информации на сервер |
с помощью оператора post |
|
|
<!-- Передача данных методом POST |
--> |
|
<!-- Посмотрите на форму передачи |
--> |
|
<form method=POST> |
|
|
|
<input type=text name=name value=”<?php echo $_POST[‘name’]; ?>”> |
|
|
<input type=submit name=submit value=”send”> |
|
</form> |
|
|
<?php |
|
|
// Выводим значение POST-параметра name |
||
echo $_POST[‘name’]; |
|
|
?> |
|
|
|
Проверьте работу файла этого упражнения. Этот метод по- |
|
требуется нам позже. |
|
|
|
Упражнение 3.9. Передача пароля на сервер |
|
<!-- Передача данных методом POST |
--> |
|
<!-- Посмотрите на форму передачи |
--> |
|
<form method=POST> |
|
|
|
Пароль: <input type=password name=”pass”> |
|
|
<input type=submit name=submit value=”send”> |
|
</form> |
|
|
<?php |
|
|
// Выводим значение POST-параметра name |
||
$pass= $_POST[‘pass’]; |
|
|
if (isset($pass)) { |
|
|
} |
echo “Пароль: $pass<br>”; |
|
|
|
|
?> |
|
|
Проверьте работу файла этого упражнения.
85
Упражнение 3.10. Регистрация пользователя на сайте с использованием файлов
<html>
<head>
<title></title>
</head>
<body>
ЗАДАНИЕ:<br>
РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЯ НА САЙТЕ<br> <br>
Обеспечьте наряду с паролем ввод логина <br> Пароль запишите в файл под именем логина<br> Прочитайте пароль из файла и выведите его<br> с помощью echo <br>
ПРИЗАПУСКЕПРОГРАММЫЗАПОМНИТЕЛОГИНИПАРОЛЬ,<br> КОТОРЫЕ ВЫ ВВЕЛИ, ДЛЯ СЛЕДУЩЕГО УПРАЖНЕНИЯ С ЭТИМ ФАЙЛОМ<br>
Логин и пароль вводите латинскими буквами <br> <form method=POST>
Пароль: <input type=password name=”pass”> <input type=submit name=submit value=”send”> </form>
<?php
// Выводим значение POST-параметра name $pass= $_POST[‘pass’];
if (isset($pass)) {
}
echo “Пароль: $pass<br>”;
?>
</body>
</html>
Это упражнение показывает регистрацию пользователя на сайте с использованием файлов. Проверьте работу файла этого упражнения. При запуске этой программы необходимо запомнить введенные вами логин и пароль для следующего упражнения с этим файлом.
86
Упражнение 3.11. Проверка пароля пользователя с использованием файлов
<html>
<head>
<title></title>
</head>
<body>
ЗАДАНИЕ:<br>
ПРОВЕРКА ПАРОЛЯ ПОЛЬЗОВАТЕЛЯ<br> <br>
Добавьте наряду с паролем ввод логина <br> Обеспечьте проверку введенного пароля <br>
с паролем, записанным в соответствующий файл <br> (создан в предыдущем упражнении!!!) <br> Обеспечьте вывод результата проверки <br>
с помощью echo <br> <form method=POST>
Пароль: <input type=password name=”pass”> <input type=submit name=submit value=”send”> </form>
<?php
// Выводим значение POST-параметра name $pass= $_POST[‘pass’];
if (isset($pass)) {
}
echo “Пароль: $pass<br>”;
?>
</body>
</html>
Это упражнение показывает проверку пароля пользователя на сайте с использованием файлов. Пароль должен быть записанным в файл в предыдущем упражнении.
87
Упражнение 3.12. Генерация нескольких гиперссылок для перехода на другие php-файлы
<html>
<head> <title>гиперссылки</title> </head>
<body>
ЗАДАНИЕ:
Используйте несколько других файлов php из текущей папки <br /> и сделайте на них гиперссылки по образцу <br />
Обратите внимание, что внутри двойных кавычек <br />
в тегах необходимо использовать одиночные кавычки!!! <br /> <br />
<?php
echo «<a href=’001_file.php’>перейти на первое упражнение</a> « ; echo «<a href=’002_file.php’>перейти на второе упражнение</a> « ; echo «<a href=’003_file.php’>перейти на третье упражнение</a> « ; ?>
</body>
</html>
Это упражнение показывает проверку пароля пользователя на сайте с использованием файлов. Пароль должен быть записанным в файл в предыдущем упражнении.
88
Основные сведения о базе данных MySQL и языке запросов SQL
Мы будем иметь дело с реляционной базой данных MySQL и языком SQL, с помощью которого можно извлекать интересующую нас информацию.
Реляционная база данных обычно состоит из нескольких связанных между собой таблиц.
В частном случае реляционная база данных состоит из одной таблицы, как, например:
Фамилия |
Пол |
Оценка |
Иванов |
М |
5 |
Петрова |
Ж |
3 |
Сидоров |
М |
4 |
Яблоков |
М |
4 |
Акулова |
Ж |
3 |
Каждая колонка обязательно содержит однородную информацию (например, только числа или только текст).
Здесь [Фамилия], [Пол] и [Оценка] — названия полей таблицы. Ниже пять строчек с конкретной информацией — записи таблицы
Язык SQL
SQL (Structured Query Language — «язык структурирован-
ных запросов») — язык, применяемый для создания, модификации и получения данных по запросам в реляционных базах данных.
Примеры запросов на языке SQL
Пример запроса на языке SQL |
Пояснения |
|
|
Select [Фамилия],[Оценка] from |
Выберите столбцы Фамилия и |
Таблица |
Оценка |
Select * from Таблица; |
Просмотр всех столбцов таблицы |
Select [Фамилия],[Оценка],[Пол] |
Переставьте колонки Пол и |
from Таблица |
Оценка |
89
Select * from Таблица where |
Выберите записи о женщинах |
|
Пол=”Ж» |
||
|
||
Select * from Таблица where |
Выберите записи с оценкой боль- |
|
Оценка>3; |
ше 3 |
|
Select * from Таблица where |
Выберите записи с оценкой мень- |
|
Оценка<4; |
ше 4 |
|
Select * from Таблица where |
Выберите записи с оценкой боль- |
|
Оценка>=4; |
ше или равной 4 |
|
Select * from Таблица where |
Выберите записи с оценкой мень- |
|
Оценка<=4; |
ше или равно 4 |
|
Select * from Таблица where Фа- |
Выберите записи с фамилией, на- |
|
милия LIKE ‘A%’; |
чинающейся на букву «А» |
|
Select * from Таблица where Фа- |
Выберите записи с фамилией, |
|
милия LIKE ‘%A’; |
оканчивающейся на букву «А» |
|
Select * from Таблица where Фа- |
Выберите записи с фамилией, со- |
|
милия LIKE ‘%ло%’; |
держащей буквосочетание «ло» |
|
Select * from Таблица where Фа- |
Выберите людей с фамилией, у |
|
которой на втором месте буква |
||
милия LIKE ‘_к%’; |
||
«к» |
||
|
||
Select * from Таблица where Фа- |
Выберите записи с фамилией из |
|
семи букв, оканчивающейся на |
||
милия LIKE ‘_______а’; |
||
букву «А» |
||
|
||
Select * from Таблица where |
Выберите записи о мужчинах с |
|
(Пол=”М”)AND (Оценка>3); |
оценкой больше 3 |
|
Select * from Таблица where |
Выберите записи с оценками 3 |
|
(Оценка=3) OR (Оценка=4); |
или 4 |
|
Select * from Таблица where |
Выберите записи с оценкой, не |
|
(Оценка<>3); |
равной 3 |
|
|
|
|
Select * from Таблица where |
Выберите записи о мужчинах с |
|
(Пол=»М»)AND ( (Оценка=5) OR |
||
оценкой 3 или 5 |
||
(Оценка=3)); |
|
|
Select * from Таблица order by |
Отсортируйте по возрастанию |
|
Оценка; |
оценки |
|
Select * from Таблица order by |
Отсортируйте по убыванию |
|
Оценка desc |
оценки |
|
Select * from Таблица order by |
Отсортируйте записи по фамили- |
|
Фамилия |
ям в алфавитной порядке |
|
select * from Таблица order by |
Отсортируйте по убыванию оцен- |
|
Оценка desc, Фамилия; |
ки, а внутри оценки по алфавиту |
|
Select distinct [Должность] from |
Выберите неповторяющийся |
|
Таблица order by [Должность]; |
список должностей |
90
