- •Интерактивное программирование
- •Разработка веб-приложений с использованием php и MySql
- •Тема 1. Архитектура веб-приложений
- •Установка веб-сервера
- •Подготовительный этап
- •Создание файловой структуры веб-сервера
- •Установка Apache 2.4
- •Настройка php 7
- •Установка и настройка MySql 5.7
- •Установка и настройка php 7
- •Установка и настройка phpMyAdmin
- •Использование сервера и резервное копирование данных
- •Дополнительная настройка php
- •Установка почтовой заглушки
- •Тема 2. Использование php в веб-разработке Как работает php
- •Основы php Первая страница
- •Синтаксис языка
- •Переменные в php
- •Область видимости переменных
- •Типы данных
- •Тип данных boolean
- •Типы данных integer и float
- •Тип данных string
- •Тип данных null
- •Тип данных resource
- •Тип данных array
- •Константы
- •Автоматическое преобразование типов
- •Приведение типов
- •Преобразование в булев тип
- •Операторы
- •Арифметические операторы
- •Оператор присваивания
- •Операторы сравнения
- •Операторы инкремента и декремента
- •Логические операторы
- •Строковые операторы
- •Операторы, работающие с массивами
- •Приоритет оператора
- •Управляющие конструкции
- •Условный оператор if
- •Функции
- •Функции для проверки на существование переменных
- •Для работы с массивами
- •Сортировка массивов
- •Математические функции
- •Функции обработки строк
- •Функции для работы с датой и временем
- •Функции, определяемые пользователем
- •Тема 3. Взаимодействие с html Подключение файлов
- •Обработка форм
- •Тема 4. Работа с MySql Что такое MySql? Принципы проектирования бд
- •Основы языка sql и работа в phpMyAdmin
- •Типы данных
- •Создание базы данных
- •Удаление базы данных
- •Создание таблиц
- •Ограничения внешнего ключа
- •Изменение столбцов в таблице
- •Удаление таблиц
- •Добавление записей в таблицы
- •Удаление записей из таблиц
- •Обновление содержимого некоторых полей в одной либо нескольких записях в таблицах бд
- •Поиск одной или нескольких записей, удовлетворяющих заданному условию
- •Взаимодействие php и MySql
- •Подключение к MySql
- •Получение данных из бд
- •Запись данных в бд
- •Теоретические вопросы
- •Задания.
Функции для работы с датой и временем
getdate() - Возвращает ассоциативный массив, содержащий информацию о дате, представленной меткой времени timestamp, или текущем системном времени, если timestamp не был передан.
Функции, определяемые пользователем
Пользователь может определять собственные функции. Приведем пример синтаксиса, используемого для описания функций:
<?php
function myFunction($arg_1, $arg_2, /* ..., */ $arg_n)
{
//код функции
return $result;
}
?>
$arg_1, $arg_2, /* ..., */ $arg_n – принимаемые аргументы
$result – возвращаемое значение
Внутри функции можно использовать любой корректный PHP-код, в том числе другие функции.
Пример:
<?php
function myWorld($bool) {
if ($bool) {
echo 'Hello, world<br>';
return 'Ок';
} else {return;}
}
$bool = true;
echo myWorld($bool);
$bool = false;
echo myWorld($bool);
Результат выполнения приведен на рисунке 144:
Рисунок 144 – результат выполнения примера
Тема 3. Взаимодействие с html Подключение файлов
В данном разделе рассмотрм вопросы, связанные со способами и приемами взаимодействия языка php с HTML-кодом web-страницы.
Предположим, имеется несложный в верстке сайт, выполненный на чистом HTML с применением CSS. Такой структуры бывает достаточно, если предполагается сайт один раз разместить в сети Интернет и никаких действий больше с ним не совершать. Менять устаревшую информацию и/или видоизменять его структуру будет возможно, однако, если сайт планируется активно развивать, то использование статичных страниц не рационально с точки зрения затрачиваемого на обновление времени.
Поэтому задачей является из статичный HTML-сайт преобразовать с применением PHP и, в дальнейшем, MySQL в гибкий с точки зрения обновления сайт.
На рисунке 145 изображена главная страница разрабатываемого сайта.
Рисунок 145 – Главная страница сайта
Далее представлены листинги HTML и CSS-файлов index.html и style.css.
<!DOCTYPE html>
<html> <head> <meta charset="utf-8" />
<title>Мой сайт</title>
<link href="style.css" rel="stylesheet"> </head>
<body>
<div class="wrapper">
<header class="header">
<img src="logo.jpg">
<ul class="menu">
<li><a href="index.html">Главная</a></li>
<li><a href="news.html">Новости</a></li>
<li><a href="about.html">О нас</a></li>
<li><a href="response.html">Отзывы</a></li>
<li><a href="contacts.html">Контакты</a></li>
</ul>
</header>
<main class="content">
<h1>Главная страница</h1>
<!—Содержимое главной страницы-->
</main>
</div>
<footer class="footer">
<p class="copy">(c) copyright</p>
<footer>
</body> </html>
Стили в файле style.css:
*{ margin: 0;
padding: 0;}
/* Определяем теги HTML5 как блочные элементы для старых браузеров*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {display: block;}
body {
background: #aaaaaa;
color: #404040;
}
html {
height: 100%;
}
body {
width: 100%;height: 100%;
font: 18px Arial, sans-serif;
}
.wrapper {
width: 960px;
min-height: 100%;
margin: 0 auto;
height: 100%;
height: auto !important;
background: #FFF9EE;
}
/* Шапка
-----------------------------------------------------------------------------*/
.header {
height: 200px;
background: #FFB7B7;
}
.header img{
height:150px;
width: 960px;
}
.menu{
margin-top: 5px;
}
.menu li{
display: inline-block;
}
.menu li a{
display: block;
text-decoration: none;
color:#FFF9EE;
font-size: 24px;
padding: 0 20px;
}
/* Содержимое
-----------------------------------------------------------------------------*/
.content {
padding: 20px 20px 50px;
}
.content p{
padding-top: 10px;
text-indent: 1.5em;
text-align: justify;
}
/* Подвал
-----------------------------------------------------------------------------*/
.footer {
width: 960px;
margin: -50px auto 0;
height: 50px;
background: #5EDACA;
position: relative;
}
.copy{
padding: 20px 0 0 20px;
}
Кроме главной страницы у сайта еще имеются страницы:
«Новости» - news.html,
«О нас» - about.html,
«Отзывы» - response.html
«Контакты» - contacts.html.
На рисунке 146 показана изначальная файловая структура сайта:
Рисунок 146 – Файловая структура сайта
Вначале сделаем так, чтобы одинаковый код не дублировался на разных страницах. Давайте создадим отдельные файлы для шапки и подвала нашего сайта.
В папке C:\Server\data\htdocs создадим каталог mysite и скопируем в него файлы нашего сайта. Теперь сайт доступен по адресу http://localhost/mysite/
Изменим расширение html-файлов на .php, как показано на рисунке 147:
Рисунок 147 – Файловая структура сайта
Создадим файл header.php и поместим там следующее содержимое:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Мой сайт</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<div class="wrapper">
<header class="header">
<img src="logo.jpg">
<ul class="menu">
<li><a href="index.php">Главная</a></li>
<li><a href="news.php">Новости</a></li>
<li><a href="about.php">О нас</a></li>
<li><a href="response.php">Отзывы</a></li>
<li><a href="contacts.php">Контакты</a></li>
</ul>
</header>
Теперь создадим файл footer.php:
</div>
<footer class="footer">
<p class="copy">(c) copyright</p>
<footer>
</body>
</html>
В файле index.php заменим этот код на следующий:
<?php
include 'header.php';
?>
<main class="content">
<h1>Главная страница</h1>
<!—Содержимое главной страницы-->
</main>
<?php
include 'footer.php';
?>
То же самое необходимо проделать и для оставшихся страниц сайта.
Мы будем использоватьфункцию include для того, чтобы подключать файлы там, где нам удобно. Таким образом, одинаковая для всех страниц информация находится в одном файле и ее удобно редактировать.
