Web-программирование и базы данных. Учебный практикум
.pdfМОСКОВСКИЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ Кафедра информатики и математики
С. Н. Буренин
Web-программирование
и базы данных
Учебный практикум
Издательство Московского гуманитарного университета
2014
УДК 681.3.068+800.92 ББК 91.973.26-018.1
Б91
Рецензенты:
Никульчев Е. В., доктор технических наук, профессор, проректор по научной работе Московского технологического института «ВТУ»;
Филатов В. В., кандидат технических наук, доцент, заместитель заведующего кафедрой «Управление
и моделирование систем» Московского государственного университета приборостроения и информатики.
Буренин, С. Н.
Web-программирование и базы данных : учебный прак-
Б91 тикум / С. Н. Буренин. — М. : Издательство Московского гуманитарного университета, 2014. — 120 с.
ISBN 978-5-906768-17-9
Учебный практикум представляет собой набор базовых заданий для быстрого знакомства с таким актуальным и трудным направлением, как web-программирование, с применением баз данных. Целесообразно применение этого практикума в рамках дисциплины «Web-программирование» для специальности «Прикладная информатика».
ББК 91.973.26-018.1
ISBN 978-5-906768-17-9
©Буренин С. Н., 2014
©Московский гуманитарный университет, 2014
Оглавление |
|
Введение ........................................................................................................... |
7 |
Основные сведения о языке программирования ................................... |
8 |
Отладка JavaScript-скриптов с помощью браузера JavaScript ......... |
13 |
Упражнения по основам языка JavaScript ............................................ |
14 |
Упражнение 1.1. Метод Alert() для вывода сообщений ..................... |
14 |
Упражнение 1.2. Последовательное применение методов Alert() ..... |
15 |
Упражнение 1.3. Метод Confirm() для подтверждения действия ...... |
16 |
Упражнение 1.4. Метод Prompt() для ответа на вопрос .................... |
17 |
Упражнение 1.5. Работа с переменными .............................................. |
18 |
Упражнение 1.6. Соединение строковых переменных ........................ |
19 |
Упражнение 1.7. Операции над строковыми переменными ............... |
20 |
Упражнение 1.8. Вопрос и реакции на него ........................................ |
21 |
Упражнение 1.9. Два вопроса и реакция на них ................................ |
22 |
Упражнение 1.10. Работа с числовыми переменными ........................ |
23 |
Упражнение 1.11. Ввод числовых переменных и работа с ними ...... |
24 |
Упражнение 1.12. Условный оператор if ............................................... |
25 |
Упражнение 1.13. Условный оператор if с использованием else ....... |
26 |
Упражнение 1.14. Работа с массивом данных ..................................... |
27 |
Упражнение 1.15. Вывод названия дня недели по номеру ............... |
28 |
Упражнение 1.16. Вывод всех названий дней недели ....................... |
29 |
Упражнение 1.17. Оператор цикла for от 0 до 9 ................................ |
30 |
Упражнение 1.18. Оператор цикла for от 9 до 0 ............................... |
31 |
Упражнение 1.19. Оператор цикла while с предусловием .................. |
32 |
Упражнение 1.20. Оператор цикла while с постусловием .................. |
33 |
Основные сведения о языке программирования PHP ....................... |
34 |
Отладка PHP-скриптов с помощью Denver ............................................ |
40 |
Упражнения по основам языка PHP ....................................................... |
41 |
Упражнение 2.1. Функция echo для вывода информации ................... |
41 |
Упражнение 2.2. Исправьте ошибку в операторе echo ........................ |
42 |
Упражнение 2.3. Исправьте ошибку в операторе echo ...................... |
43 |
Упражнение 2.4. Разделение кода PHP на части ................................. |
44 |
Упражнение 2.5. Однострочные PHP-комментарии ............................ |
45 |
Упражнение 2.6. Многострочные PHP-комментарии .......................... |
46 |
Упражнение 2.7. Удаление знаков всех комментариев ....................... |
47 |
Упражнение 2.8. Функция echo для вывода текста и чисел ............. |
48 |
Упражнение 2.9. Формирование гиперссылки из PHP ...................... |
49 |
Упражнение 2.10. Функция rand для случайного числа |
|
от 0 до 100 ................................................................................................. |
50 |
Упражнение 2.11. Функция rand для случайного числа |
|
от 50 до 70 ................................................................................................ |
51 |
3
Упражнение 2.12. Работа с константами .............................................. |
52 |
Упражнение 2.13. Вывод двух различных случайных чисел |
|
с использованием цикла с предусловием ............................................. |
53 |
Упражнение 2.14. Вывод двух различных случайных чисел |
|
с помощью цикла с постусловием ........................................................ |
54 |
Упражнение 2.15. Вывод случайных 4 вариантов web-страницы |
|
с сервера при помощи оператора if ...................................................... |
55 |
Упражнение 2.16. Вывод случайных 2 вариантов web-страницы |
|
с сервера при помощи оператора if..else ............................................. |
56 |
Упражнение 2.17. Вывод случайных вариантов web-страницы |
|
с помощью оператора switch ................................................................ |
57 |
Упражнение 2.18. Вывод различных вариантов страницы |
|
с сервера в зависимости от времени суток ........................................... |
58 |
Упражнение 2.19. Вывод в цикле последовательных букв .................. |
59 |
Упражнение 2.20. Вывод динамически таблицы |
|
из одной колонки ..................................................................................... |
60 |
Упражнение 2.21. Случайное выделение ячейки из таблицы .............. |
61 |
Упражнение 2.22. Случайное выделение двух ячеек |
|
из таблицы ................................................................................................ |
62 |
Упражнение 2.23. Вывод динамически таблицы |
|
из нескольких столбцов ......................................................................... |
63 |
Упражнение 2.24. Вывод динамически таблицы из одной колонки |
|
с переключением цвета ячеек по строкам ............................................. |
64 |
Упражнение 2.25. Вывод динамически таблицы |
|
из нескольких столбцов с переключением цвета столбцов ................. |
65 |
Упражнение 2.26. Описание массивов с помощью array ...................... |
66 |
Упражнение 2.27. Использование конструкции list |
|
для разбора элементов массива по переменным .................................. |
67 |
Упражнение 2.28. Работа с массивом без использования |
|
конструкции array() .................................................................................. |
68 |
Упражнение 2.29. Явное указание индексов |
|
при заполнении массива ......................................................................... |
69 |
Упражнение 2.30. Возможность для переменной |
|
принимать значения различного типа .................................................... |
70 |
Упражнение 2.31. Вывод элементов массива с помощью цикла ........... |
71 |
Упражнение 2.32. Использование ассоциативного массива ................ |
72 |
Упражнение 2.33. Функция без аргументов |
|
на примере вывода одной строки .......................................................... |
73 |
Упражнение 2.34. Функция без аргументов |
|
на примере вывода нескольких строк ................................................... |
74 |
Упражнение 2.35. Функция с передачей аргумента ............................... |
75 |
4
Упражнение 2.36. Оператор return для возврата |
|
из функции значения .............................................................................. |
76 |
Упражнение 2.37. Вычисление цены на основании прироста |
|
с помощью функции ............................................................................... |
77 |
Упражнение 2.38. Встроенная строковая функция substr ..................... |
78 |
Упражнение 2.39. Встроенная строковая функция strstr ...................... |
79 |
Упражнение 2.40. Встроенная функция isset ......................................... |
80 |
Упражнения по PHP при работе с файлами на сервере ........................ |
81 |
Упражнение 3.1. Открытие или создание файлов ................................. |
81 |
Упражнение 3.2. Создание счетчика посещений сайта |
|
с использованием файла ......................................................................... |
82 |
Упражнение 3.3. Программа счетчика посещений, |
|
выделенная в отдельный файл .............................................................. |
83 |
Упражнение 3.4. Генерация гиперссылки на php-файл ....................... |
83 |
Упражнение 3.5. Окончательный вариант счетчика посещений сайта |
|
с помощью файла ..................................................................................... |
84 |
Упражнение 3.6. Итоговая работа по созданию счетчика посещений |
|
с дополнительными возможностями и табличным дизайном ........... |
84 |
Упражнение 3.7. Передача информации на сервер |
|
с помощью оператора get ....................................................................... |
85 |
Упражнение 3.8. Передача информации на сервер |
|
с помощью оператора post ...................................................................... |
85 |
Упражнение 3.9. Передача пароля на сервер ......................................... |
85 |
Упражнение 3.10. Регистрация пользователя на сайте |
|
с использованием файлов ....................................................................... |
86 |
Упражнение 3.11. Проверка пароля пользователя |
|
с использованием файлов ........................................................................ |
87 |
Упражнение 3.12. Генерация нескольких гиперссылок |
|
для перехода на другие php-файлы ...................................................... |
88 |
Основные сведения о базе данных MySQL и языке запросов SQL ... |
89 |
Упражнения по PHPпри использовании баз данных MySQL |
|
на сервере ....................................................................................................... |
92 |
Упражнение 4.1. Удаление и создание базы данных ......................... |
93 |
Упражнение 4.2. Удаление и создание таблицы в базе данных ...... |
94 |
Упражнение 4.3. Вставка данных в таблицу базы данных .............. |
95 |
Упражнение 4.4. Создание запроса на все поля в базе данных .... |
96 |
Упражнение 4.5. Разные способы вывода всех данных на экран ... |
97 |
Упражнение 4.6. Вывод только списка фамилий |
|
с помощью удаления из запроса лишней информации ................... |
98 |
Упражнение 4.7. Вывод только списка фамилий |
|
с помощью замены знака «*» .............................................................. |
99 |
5
Упражнение 4.8. Выборка по совпадению текстового поля ........... |
100 |
Упражнение 4.9. Выборка по числовому полю |
|
с использованием оператора «>» (больше) ....................................... |
101 |
Упражнение 4.10. Выборка по числовому полю |
|
с использованием оператора «<» (меньше) ....................................... |
102 |
Упражнение 4.11. Выборка по числовому полю |
|
с использованием оператора «>=» (больше или равно) ................ |
103 |
Упражнение 4.12. Выборка по числовому полю |
|
с использованием оператора «<=» (меньше или равно) .................. |
104 |
Упражнение 4.13. Выборка по текстовому полю, |
|
которое начинается с некоторой буквы ................................................ |
105 |
Упражнение 4.14. Выборка по текстовому полю, |
|
которое оканчивается на некоторую букву .......................................... |
106 |
Упражнение 4.15. Выборка по текстовому полю, |
|
которое содержит некоторое словосочетание ...................................... |
107 |
Упражнение 4.16. Выборка по текстовому полю, у которого |
|
на определенном месте некоторая буква ........................................... |
108 |
Упражнение 4.17. Выборка по текстовому полю c определенным |
|
количеством букв, у которого на конце некоторая буква ............... |
109 |
Упражнение 4.18. Выборка c использованиемAND |
|
(логическое И) ........................................................................................ |
110 |
Упражнение 4.19. Выборка c использованием OR |
|
(логическое ИЛИ) ................................................................................... |
111 |
Упражнение 4.20. Выборка c использованием оператора «<>» |
|
(не равно) ................................................................................................ |
112 |
Упражнение 4.21. Запрос с сортировкой по возрастанию ................ |
113 |
Упражнение 4.22. Запрос сортировкой по убыванию ....................... |
114 |
Упражнение 4.23. Запрос с сортировкой по алфавиту ..................... |
115 |
Упражнение 4.24. Запрос с сортировкой по двум полям ................. |
116 |
Упражнение 4.25. Изменение одного значения в базе данных ....... |
117 |
Упражнение 4.26. Изменение нескольких значений |
|
в базе данных .......................................................................................... |
118 |
Литература .................................................................................................... |
119 |
6
Введение
Цель практикума – закрепление основных знаний, формирование базовых умений и навыков, необходимых для создания интерактивных динамических сайтов с помощью webпрограммирования на скриптовых языках JavaScript и РНР, серверной СУБД MySQL с использованием специальной среды отладки Denver, которая обеспечивает моделирование webсервера на клиентском компьютере.
Сначала рассматривается введение в программирование на стороне клиента с использованием скриптового языка JavaScript. Этот язык позволяет создавать мультимедийные эффекты на web-странице, Далее в практикуме упор делается на программирование на стороне сервера, что обеспечивается языком PHP.
Указанные средства являются очень популярными, и с их помощью сделано много коммерческих сайтов. Кроме того, эти средства являются бесплатными и не требуют покупки лицензии.
Для использования данного практикума обязательно зна-
комство с языком HTML (HyperText Markup Language) — язы-
ком разметки гипертекста. С помощью специальных управляющих меток — тегов он используется для функциональной разметки web-страницы.
При написании программ с самого начала целесообразно использовать структурное программирование.
Структурное программирование — стиль разработки алгоритмов и дисциплина программирования, когда структура программы отражает четкую иерархическую структуру алгоритма, содержащую функциональные блоки.
Структурное программирование позволяет:
• упростить процесс создания алгоритмов;
• прослеживать в программе структуру и логику алгоритма; «читабельность»;
• увеличить скорость составления программ;
• уменьшить время на тестирование и отладку;
• упростить модификацию программ.
7
Основные сведения о языке программирования
JavaScript
JavaScript — язык программирования (скриптовый язык) для веб-страниц на стороне клиента.
СкриптJavaScript —этопрограмма,встраиваемаявHTML- страницу. Эта программа должна находиться между открывающим и закрывающим тегами <SCRIPT> и </SCRIPT >.
JavaScript позволяет добавить интерактивность в вебстраницу и произвести впечатление на посетителей вашего сайта.
JavaScript — легкий путь познакомиться с базовыми алгоритмическими конструкциями и элементами программирования.
Для ввода, вывода информации будем использовать следующие методы:
• alert («выводимый текст») — позволяет только вывести текст;
• confirm («выводимый текст» — позволяет вывести текст и запросить подтверждение;
• prompt («выводимый текст») — позволяет также ввести текст.
Значения и переменные
При написании программы используются значения и переменные.
Тип |
Описание |
Пример |
|
|
|
Число |
Любое численное значение |
123.45 |
|
|
|
Строка |
Любые символы, заключенные в кавычки |
«Желаем |
успехов» |
||
Логическое |
Значение true (истина) или false (ложь) |
true |
|
|
|
Пустой |
Пустой или неопределенный объект |
null |
|
|
|
Объект |
Любое значение, связанное с объектом |
|
|
|
|
Функция |
Значение, возвращаемое функцией |
|
|
|
|
8
Операторы
Операторы – это специальные символы для работы с переменными.
Оператор |
Назначение |
|
x+y (числа) |
Складывает x и y |
|
x+y (строки) |
Объединяет строки x и y |
|
x-y (числа) |
Вычитает y из x |
|
x*y (числа) |
Перемножает x и y |
|
x/y (числа) |
Делит x на y |
|
x%y (числа) |
Возвращает остаток от деления x на y |
|
x++, ++x |
Увеличивает x на единицу |
|
x--, --x |
Уменьшает x на единицу |
|
-x |
Меняет знак х |
|
Операторы |
присваивания |
|
Оператор |
|
Назначение |
|
|
|
x=y |
|
Присвоение (x становится равным y) |
|
|
|
x+=y |
|
То же, что x=x+y |
|
|
|
x-=y |
|
То же, что x=x-y |
|
|
|
x*=y (числа) |
|
То же, что x=x*y |
|
|
|
x/=y (числа) |
|
То же, что x=x/y |
|
|
|
x%=y (числа) |
|
То же, что x=x%y |
|
|
|
Операторы |
сравнения |
|
Оператор |
|
Назначение |
x= =y (числа) |
|
Возвращает true (истина), если x равно y |
x!=y (числа) |
|
Возвращает true (истина), если x не равноy |
x>y (числа) |
|
Возвращает true (истина), если x больше y |
x>=y (числа) |
|
Возвращает true (истина), если x больше или равно y |
x<y (числа) |
|
Возвращает true (истина), если x меньше y |
x<=y (числа) |
|
Возвращает true (истина), если x меньше или равно y |
x&&y (числа) |
|
Возвращает true (истина), если истинны x и y |
x!!y (числа) |
|
Возвращает true (истина), если истинно хотя бы одно |
|
из значений x или y |
|
|
|
|
!x |
|
Возвращает true (истина), если x ложно (равно false) |
9
Базовые алгоритмические структуры
Под алгоритмом понимают понятное и точное предписание исполнителю совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной задачи.
Алгоритм состоит из законченных действий, выполняемых последовательно. Дискретность, определенность и результативность (конечность) алгоритмов.
Используются три базовые алгоритмические структуры: следование, ветвление, цикл.
Cтруктура «следование»
В алгоритмической структуре «следование» действия выполняются в прямой (линейной) последовательности от блока к блоку.
В языке JavaScript структура «следование» реализуется с помощью операторов присваивания, составного { .. } , пустого, обращения к функциям (например, к процедурам ввода/ вывода).
|
|
|
Тип |
Оператор |
Пример |
присваивание |
<переменная> = <выражение> |
b=1; |
|
|
|
составной |
{<оператор>; |
{b=1; |
. . . . . . . . |
a=3; |
|
|
}<оператор>; |
} |
пустой |
; |
; |
Обращение |
|
alert(“текст”); |
|
confirm(“текст”); |
|
к функциям |
|
|
|
prompt(“текст”); |
|
|
|
Пример «следования» в JavaScript a=prompt(«Введите первое число»,»»); a=Number(a)
b=prompt(“Введите второе число”,””); b=Number(b)
c=a+b; alert(“Сумма= “ + c );
10
