cpp

Прохоренок Н., Дронов В. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд.

Рассмотрены вопросы создания интерактивных Web-сайтов с помощью HTML, JavaScript, PHP и MySQL, форматирования Web-страниц при помощи CSS. Даны основы PHP и примеры написания типичных сценариев. Описаны приемы работы и администрирования баз данных MySQL при помощи PHP и программы phpMyAdmin. Особое внимание уделено созданию программной среды на компьютере разработчика и настройке Web-сервера Apache.

В 5-м издании содержится описание возможностей, предлагаемых HTML 5, CSS 3, PHP 7.2, технологии AJAX, новых инструментов JavaScript (включая рисование на холсте, средства геолокации и локальное хранилище данных) и всех нововведений, появившихся в актуальных на данный момент версиях HTML, CSS, Apache, MySQL и технологии AJAX.

Требования к читателям: умение пользоваться компьютером и доступ в Интернет.

См. также: Учебник по Node.js и JavaScript (ECMAScript 6+) в формате PDF
См. также: "Bootstrap и CSS-препроцессор Sass. Самое необходимое"
См. также: Учебник по jQuery и AJAX в формате PDF
См. также: Библиотека jQuery UI

Оглавление книги HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд.

Глава 1. Основы HTML 5. Создаем дизайн сайта

1.1. Первые шаги
    1.1.1. Основные понятия
    1.1.2. Редактор CKEditor
    1.1.3. Редактор Notepad++
    1.1.4. Первый HTML-документ
    1.1.5. Просмотр исходного HTML-кода в Web-браузере
    1.1.6. Инструменты разработчика
    1.1.7. Комментарии в HTML-коде
1.2. Структура HTML-документа
    1.2.1. Тег <!DOCTYPE>. Объявление формата документа
    1.2.2. Тег <html>
    1.2.3. Раздел HEAD. Техническая информация о документе
    1.2.4. Файл favicon.ico
    1.2.5. Файл robots.txt
    1.2.6. Раздел BODY. Основная часть документа
1.3. Разделение Web-страницы на фрагменты
    1.3.1. Заголовки
    1.3.2. Разделение на абзацы
    1.3.3. Тег <div>
    1.3.4. Семантическая разметка в HTML 5
    1.3.5. Тег <details>
    1.3.6. Горизонтальная линия
1.4. Форматирование текста
    1.4.1. HTML-эквиваленты
    1.4.2. Перевод строки
    1.4.3. Выделение фрагментов текста
    1.4.4. Теги логического форматирования
    1.4.5. Создание нижних и верхних индексов
    1.4.6. Тег <span>
1.5. Списки
    1.5.1. Маркированные списки
    1.5.2. Нумерованные списки
    1.5.3. Списки определений
1.6. Графика
    1.6.1. Изображение на Web-странице
    1.6.2. Изображение в качестве фона
    1.6.3. Тег <picture>
    1.6.4. SVG-графика
    1.6.5. Тег <canvas>
1.7. Гиперссылки
    1.7.1. Внешние гиперссылки
        Абсолютный URL-адрес
        Относительный URL-адрес
    1.7.2. Внутренние гиперссылки
    1.7.3. Гиперссылки на адрес электронной почты
1.8. Таблицы
    1.8.1. Вставка таблицы в документ
    1.8.2. Заголовок таблицы
    1.8.3. Строки таблицы
    1.8.4. Столбцы таблицы
    1.8.5. Ячейки таблицы
1.9. Фреймы
    1.9.1. Тег <iframe>. Добавление фрейма в обычный документ
    1.9.2. Загрузка документа в определенный фрейм
1.10. Карты-изображения
    1.10.1. Карта-изображение как панель навигации
    1.10.2. Структура карт-изображений
    1.10.3. Тег <map>
    1.10.4. Описание активной области на карте-изображении
1.11. Формы
    1.11.1. Создание формы для регистрации сайта
    1.11.2. Структура документа с формами
    1.11.3. Добавление формы в документ
    1.11.4. Тег <input>
        Текстовое поле и поле ввода пароля
        Кнопки Сброс, Отправить и командная кнопка
        Скрытое поле hidden
        Поле для установки флажка
        Элемент-переключатель
        Поле выбора файла
        Элементы для ввода числа и выбора значения из диапазона
        Элемент для ввода даты
    1.11.5. Список автодополнения
    1.11.6. Тег <textarea>. Текстовая область
    1.11.7. Тег <select>. Список с предопределенными значениями
    1.11.8. Тег <button>. Кнопка
    1.11.9. Тег <label>
    1.11.10. Группировка элементов формы
1.12. Тег <meter>
1.13. Тег <progress>. Индикатор хода процесса
1.14. Аудио и видео
    1.14.1. Вставка аудиоролика
    1.14.2. Вставка видеоролика
    1.14.3. Указание нескольких источников аудио или видео
    1.14.4. Тег <track>
1.15. Универсальные параметры
1.16. Проверка HTML-документов на соответствие стандартам

Глава 2. Основы CSS 3. Форматируем Web-страницу с помощью стилей

2.1. Способы встраивания определения стиля
    2.1.1. Встраивание определения стиля в тег
    2.1.2. Встраивание определения стилей в заголовок HTML-документа
    2.1.3. Вынесение таблицы стилей в отдельный файл
    2.1.4. Приоритет применения стилей
2.2. Указание значений атрибутов
    2.2.1. Числа
    2.2.2. Размеры
    2.2.3. Цвет
    2.2.4. Строки
    2.2.5. Углы
    2.2.6. Универсальные значения
2.3. CSS-селекторы
    2.3.1. Основные селекторы
    2.3.2. Привязка к параметрам тегов
    2.3.3. Псевдоэлементы
    2.3.4. Псевдоклассы
2.4. Форматирование шрифта
    2.4.1. Имя шрифта
    2.4.2. Стиль шрифта
    2.4.3. Размер шрифта
    2.4.4. Цвет текста
    2.4.5. Жирность шрифта
    2.4.6. Вид строчных букв
    2.4.7. Одновременное указание характеристик шрифта
    2.4.8. Загружаемые шрифты
2.5. Форматирование текста
    2.5.1. Расстояние между символами в словах
    2.5.2. Расстояние между словами
    2.5.3. Отступ первой строки
    2.5.4. Вертикальное расстояние между строками
    2.5.5. Горизонтальное выравнивание текста
    2.5.6. Вертикальное выравнивание текста
    2.5.7. Подчеркивание, надчеркивание и зачеркивание текста
    2.5.8. Изменение регистра символов
    2.5.9. Обработка пробелов между словами
    2.5.10. Перенос слов
    2.5.11. Направление вывода текста
2.6. Отступы
    2.6.1. Внешние отступы
    2.6.2. Внутренние отступы
2.7. Рамки
    2.7.1. Стиль линий рамки
    2.7.2. Толщина линий рамки
    2.7.3. Цвет линий рамки
    2.7.4. Одновременное задание характеристик рамки
    2.7.5. Рамки со скругленными углами
    2.7.6. Внешняя рамка
2.8. Фон элемента
    2.8.1. Цвет фона
    2.8.2. Фоновый рисунок
    2.8.3. Режим повторения фонового рисунка
    2.8.4. Прокрутка фонового рисунка
    2.8.5. Положение фонового рисунка
    2.8.6. Размеры фонового изображения
    2.8.7. Режим позиционирования фонового изображения
    2.8.8. Режим заполнения для фона
    2.8.9. Одновременное задание характеристик фона
2.9. Градиентные фоны
    2.9.1. Линейные градиенты
    2.9.2. Радиальные градиенты
2.10. Списки
    2.10.1. Вид маркера списка
    2.10.2. Изображение в качестве маркера списка
    2.10.3. Компактное отображение списка
    2.10.4. Одновременное указание характеристик списка
2.11. Таблицы
    2.11.1. Рамки таблицы и ячеек
    2.11.2. Размеры таблицы
    2.11.3. Местоположение заголовка
    2.11.4. Указание характеристик ячеек
2.12. Вид курсора
2.13. Псевдостили гиперссылок. Отображение ссылок разными цветами
2.14. Форматирование блоков
    2.14.1. Указание типа блока
    2.14.2. Указание размеров
    2.14.3. Атрибут overflow
    2.14.4. Управление обтеканием
    2.14.5. Позиционирование блока
    2.14.6. Последовательность отображения слоев
2.15. Управление отображением элемента
2.16. Flex-контейнеры
    2.16.1. Направление выравнивания элементов внутри контейнера
    2.16.2. Перенос на новую строку
    2.16.3. Одновременное указание характеристик flex-контейнера
    2.16.4. Размеры элемента
    2.16.5. Растяжение элементов
    2.16.6. Сжатие элементов
    2.16.7. Одновременное указание характеристик элементов
    2.16.8. Выравнивание элементов внутри контейнера
    2.16.9. Порядок следования элементов внутри контейнера
2.17. CSS Grid
    2.17.1. Описание строк и столбцов
    2.17.2. Автоматическое размещение элементов внутри сетки
    2.17.3. Добавление элементов в ячейки сетки
    2.17.4. Объединение ячеек
    2.17.5. Размеры неявных ячеек
    2.17.6. Расстояние между ячейками
    2.17.7. Имена элементов
    2.17.8. Одновременное указание характеристик контейнера
    2.17.9. Выравнивание сетки внутри контейнера
    2.17.10. Выравнивание элемента внутри ячейки
2.18. Многоколоночный текст
    2.18.1. Количество колонок
    2.18.2. Размеры колонок
    2.18.3. Расстояние между колонками
    2.18.4. Линии между колонками
2.19. Фильтры и эффекты
    2.19.1. Изменение прозрачности
    2.19.2. Размытие
    2.19.3. Изменение яркости, насыщенности и контраста
    2.19.4. Изменение цвета
    2.19.5. Создание тени
        Функция drop-shadow()
        Создание тени для текста
        Создание тени для блока
2.20. Анимация с двумя состояниями
    2.20.1. Продолжительность анимации
    2.20.2. Задержка перед началом анимации
    2.20.3. Задание анимируемых атрибутов
    2.20.4. Закон анимации
    2.20.5. Одновременное задание всех параметров анимации
    2.20.6. Сложная анимация
2.21. Анимация с несколькими состояниями
    2.21.1. Шкала времени
    2.21.2. Указание названия шкалы времени
    2.21.3. Продолжительность анимации
    2.21.4. Задержка перед началом анимации
    2.21.5. Закон анимации
    2.21.6. Количество повторений анимации
    2.21.7. Направление анимации
    2.21.8. Текущее состояние анимации
    2.21.9. Состояние элемента до начала анимации и после ее завершения
    2.21.10. Одновременное задание всех параметров анимации
    2.21.11. Сложная анимация
2.22. Двумерные трансформации
    2.22.1. Атрибут transform
    2.22.2. Смещение
    2.22.3. Изменение масштаба
    2.22.4. Наклон
    2.22.5. Вращение
    2.22.6. Применение матрицы трансформации
    2.22.7. Позиционирование точки начала координат для двумерных трансформаций
    2.22.8. Сложные двумерные трансформации
2.23. Трехмерные трансформации
    2.23.1. Перспектива
    2.23.2. Выполнение трехмерных трансформаций
    2.23.3. Задание точки зрения
    2.23.4. Скрытие обратной стороны элемента
    2.23.5. Режим проецирования элементов на контейнер
    2.23.6. Позиционирование точки начала координат для трехмерных трансформаций
    2.23.7. Сложные трехмерные трансформации
2.24. Медиа-запросы и адаптивный дизайн
2.25. Проверка CSS-кода на соответствие стандартам

Глава 3. Основы JavaScript. Создаем страницы, реагирующие на действия пользователей

3.1. Первые шаги
    3.1.1. Первая программа на JavaScript
    3.1.2. Тег <script>
    3.1.3. Местоположение программы
    3.1.4. Консоль в Web-браузере Firefox
    3.1.5. Комментарии в JavaScript
    3.1.6. Окно с сообщением и кнопкой OK
    3.1.7. Окно с сообщением и кнопками OK и Cancel
    3.1.8. Окно с полем ввода и кнопками OK и Cancel
    3.1.9. JavaScript-библиотеки
3.2. Переменные и типы данных
    3.2.1. Именование переменных
    3.2.2. Объявление переменной
    3.2.3. Типы данных и инициализация переменных
    3.2.4. Проверка существования переменной
    3.2.5. Константы
3.3. Операторы JavaScript
    3.3.1. Математические операторы
    3.3.2. Побитовые операторы
    3.3.3. Операторы присваивания
    3.3.4. Операторы сравнения
    3.3.5. Приоритет выполнения операторов
    3.3.6. Преобразование типов данных
    3.3.7. Оператор ветвления if...else
    3.3.8. Оператор ?:
    3.3.9. Оператор выбора switch
3.4. Циклы. Многократное выполнение блока кода
    3.4.1. Цикл for
    3.4.2. Цикл while
    3.4.3. Цикл do...while
    3.4.4. Цикл for...in
    3.4.5. Цикл for...of
    3.4.6. Оператор continue. Переход на следующую итерацию цикла
    3.4.7. Оператор break. Прерывание цикла
3.5. Числа
    3.5.1. Указание значений
    3.5.2. Класс Number
    3.5.3. Математические константы
    3.5.4. Основные методы для работы с числами
    3.5.5. Округление чисел
    3.5.6. Тригонометрические функции
    3.5.7. Преобразование строки в число
    3.5.8. Преобразование числа в строку
    3.5.9. Генерация псевдослучайных чисел
    3.5.10. Бесконечность и значение NaN
3.6. Массивы и множества
    3.6.1. Инициализация массива
    3.6.2. Получение и изменение элемента массива
    3.6.3. Определение числа элементов массива
    3.6.4. Многомерные массивы
    3.6.5. Создание копии массива
    3.6.6. Слияние массивов
    3.6.7. Перебор элементов массива
    3.6.8. Добавление и удаление элементов массива
    3.6.9. Переворачивание массива
    3.6.10. Сортировка массива
    3.6.11. Получение части массива
    3.6.12. Преобразование массива в строку
    3.6.13. Проверка наличия элемента в массиве
    3.6.14. Фильтрация массива
    3.6.15. Ассоциативные массивы
        Перебор ассоциативных массивов
        Класс Map
    3.6.16. Множества
3.7. Строки
    3.7.1. Инициализация строк
    3.7.2. Специальные символы в строке
    3.7.3. Конкатенация строк
    3.7.4. Определение длины строки
    3.7.5. Обращение к отдельному символу в строке
    3.7.6. Изменение регистра символов
    3.7.7. Получение фрагмента строки
    3.7.8. Сравнение строк
    3.7.9. Поиск и замена в строке
    3.7.10. Преобразование строки в массив
    3.7.11. URL-кодирование строк
    3.7.12. Выполнение команд, содержащихся в строке
3.8. Регулярные выражения
    3.8.1. Создание шаблона
    3.8.2. Методы класса String
    3.8.3. Методы класса RegExp
    3.8.4. Свойства класса RegExp
    3.8.5. Синтаксис регулярных выражений
        Метасимволы
        Стандартные классы
        Экранирование специальных символов
        Квантификаторы
        Жадность квантификаторов
        Группы
        Обратные ссылки
3.9. Работа с датой и временем
    3.9.1. Получение текущей даты и времени
    3.9.2. Указание произвольных значений даты и времени
    3.9.3. Разбор строки с датой и временем
    3.9.4. Методы класса Date
    3.9.5. Вывод даты и времени в окне Web-браузера
    3.9.6. Таймеры. Создание часов на Web-странице
3.10. Функции. Разделение программы на фрагменты
    3.10.1. Создание функции
    3.10.2. Расположение функций внутри HTML-документа
    3.10.3. Класс Function
    3.10.4. Переменное число параметров в функции
    3.10.5. Глобальные и локальные переменные
    3.10.6. Область видимости блока
    3.10.7. Способы передачи параметров в функцию
    3.10.8. Необязательные параметры
    3.10.9. Анонимные функции
    3.10.10. Стрелочные функции
    3.10.11. Функции-генераторы
    3.10.12. Рекурсия. Вычисление факториала
3.11. Классы и объекты
    3.11.1. Основные понятия
    3.11.2. Класс Object
    3.11.3. Создание объекта с помощью фигурных скобок
    3.11.4. Конструктор класса
    3.11.5. Инструкция class
    3.11.6. Свойства и методы класса
    3.11.7. Перебор свойств объекта
    3.11.8. Проверка существования свойств и методов
    3.11.9. Прототипы
    3.11.10. Пространства имен
3.12. Обработка ошибок
    3.12.1. Синтаксические ошибки
    3.12.2. Логические ошибки
    3.12.3. Ошибки времени выполнения
    3.12.4. Обработка ошибок
    3.12.5. Оператор throw. Генерация исключений
    3.12.6. Отладка программы в Web-браузере Firefox
3.13. События
    3.13.1. Назначение обработчиков событий
    3.13.2. Удаление обработчиков
    3.13.3. Указатель this
    3.13.4. Объект event
    3.13.5. Действия по умолчанию и их отмена
    3.13.6. Всплывание событий
    3.13.7. Фазы событий
    3.13.8. События документа
    3.13.9. События мыши
    3.13.10. События клавиатуры
    3.13.11. События формы
3.14. Объектная модель документа (DOM)
    3.14.1. Структура объектной модели
    3.14.2. Объект window
    3.14.3. Работа с фреймами
    3.14.4. Объект navigator. Получение информации о Web-браузере
    3.14.5. Объект screen. Получение информации о мониторе пользователя
    3.14.6. Объект location. Разбор составляющих URL-адреса документа
    3.14.7. Объект history. Получение информации о просмотренных страницах
    3.14.8. Объект document. Получение полной информации о HTML-документе
    3.14.9. Узлы документа
    3.14.10. Общие свойства и методы элементов Web-страницы
    3.14.11. Работа с таблицами стилей при помощи JavaScript
    3.14.12. Объект selection. Проверка наличия выделенного фрагмента
    3.14.13. Объект Range. Расширение или сжатие выделенного фрагмента текста
    3.14.14. Сохранение данных на компьютере клиента
3.15. Работа с элементами формы
    3.15.1. Элементы управления
    3.15.2. Коллекция forms. Доступ к элементу формы из скрипта
    3.15.3. Свойства объекта формы
    3.15.4. Методы объекта формы
    3.15.5. События объекта формы
    3.15.6. Текстовое поле и поле ввода пароля
    3.15.7. Поле для ввода многострочного текста
    3.15.8. Список с возможными значениями
    3.15.9. Флажок и переключатели
    3.15.10. Кнопки. Обработка нажатия кнопки
    3.15.11. Работа с элементами управления
    3.15.12. Расширенная проверка значения, занесенного в поле ввода
3.16. Работа с графическими изображениями
3.17. Работа с мультимедиа
    3.17.1. Свойства аудио- и видеороликов
    3.17.2. Методы аудио- и видеороликов
    3.17.3. События аудио- и видеороликов
3.18. Холст в HTML 5. Программируемая графика
    3.18.1. Тег <canvas>
    3.18.2. Создание контекста рисования
    3.18.3. Изменение характеристик заливки
    3.18.4. Изменение характеристик обводки
    3.18.5. Рисование прямоугольников
    3.18.6. Очистка прямоугольной области или всего холста
    3.18.7. Вывод текста
    3.18.8. Вывод изображения
    3.18.9. Рисование траектории
    3.18.10. Определение вхождения точки в состав контура
    3.18.11. Использование сложных цветов
        Линейный градиент
        Радиальный градиент
        Заливка текстурой
    3.18.12. Сохранение и восстановление состояния
    3.18.13. Трансформации
    3.18.14. Управление наложением графики
    3.18.15. Задание уровня прозрачности
    3.18.16. Создание тени
    3.18.17. Работа с отдельными пикселами
        Получение массива пикселов
        Создание пустого массива пикселов
        Манипуляция пикселами
        Вывод массива пикселов
3.19. Хранилище
    3.19.1. Сессионное и локальное хранилища
    3.19.2. Работа с хранилищем
    3.19.3. Использование локального хранилища для временного хранения данных
3.20. Средства геолокации
    3.20.1. Доступ к средствам геолокации
    3.20.2. Получение данных геолокации
    3.20.3. Обработка нештатных ситуаций
    3.20.4. Задание дополнительных параметров
    3.20.5. Отслеживание местоположения компьютера

Глава 4. Программное обеспечение Web-сервера. Устанавливаем и настраиваем программы под Windows

4.1. Необходимые программы
4.2. Установка XAMPP
4.3. Структура каталогов сервера Apache
4.4. Файл конфигурации Apache (httpd.conf)
    4.4.1. Основные понятия
    4.4.2. Разделы файла конфигурации
    4.4.3. Общие директивы. Создание домашнего каталога пользователя,
         доступного при запросе http://localhost/~nik/
    4.4.4. Переменные сервера и их использование
    4.4.5. Директивы управления производительностью
    4.4.6. Директивы обеспечения постоянного соединения
    4.4.7. Директивы работы с языками
    4.4.8. Директивы перенаправления
    4.4.9. Обработка ошибок
    4.4.10. Настройки MIME-типов
    4.4.11. Управление листингом каталога
    4.4.12. Директивы протоколирования
    4.4.13. Файл конфигурации .htaccess. Управляем сервером Apache из обычного каталога
    4.4.14. Защита содержимого папки паролем
    4.4.15. Управление доступом
    4.4.16. Регулярные выражения, используемые в директивах
    4.4.17. Создание виртуальных серверов
4.5. Файл конфигурации PHP (php.ini)
4.6. Файл конфигурации MySQL (my.ini)
4.7. Программа phpMyAdmin

Глава 5. Основы PHP. Создаем динамические Web-страницы

5.1. Первые шаги
    5.1.1. Первая программа
    5.1.2. Особенности создания скриптов в кодировке UTF-8
    5.1.3. Методы встраивания PHP-кода
    5.1.4. Комментарии в PHP-сценариях
    5.1.5. Вывод результатов работы скрипта
    5.1.6. Буферизация вывода
    5.1.7. Преждевременное завершение выполнения программы
5.2. Переменные и типы данных
    5.2.1. Именование переменных
    5.2.2. Типы данных и инициализация переменных
    5.2.3. Преобразование и приведение типов
    5.2.4. Проверка существования переменной
    5.2.5. Удаление переменной
    5.2.6. Константы
    5.2.7. Переменные окружения
    5.2.8. Массив $GLOBALS
    5.2.9. Вывод значений переменных
    5.2.10. Ссылки
5.3. Операторы
    5.3.1. Математические операторы
    5.3.2. Побитовые операторы
    5.3.3. Операторы присваивания
    5.3.4. Операторы сравнения
    5.3.5. Оператор <=>
    5.3.6. Оператор ??
    5.3.7 Приоритет выполнения операторов
    5.3.8. Преобразование типов данных
    5.3.9. Оператор ветвления if
    5.3.10. Оператор ?:
    5.3.11. Оператор выбора switch
5.4. Циклы. Многократное выполнение блока кода
    5.4.1. Цикл for
    5.4.2. Цикл while
    5.4.3. Цикл do...while
    5.4.4. Цикл foreach
    5.4.5. Оператор continue. Переход на следующую итерацию цикла
    5.4.6. Оператор break. Прерывание цикла
    5.4.7. Оператор goto
5.5. Числа
    5.5.1. Математические константы
    5.5.2. Основные функции для работы с числами
    5.5.3. Округление чисел
    5.5.4. Тригонометрические функции
    5.5.5. Преобразование строки в число
    5.5.6. Преобразование числа в строку
    5.5.7. Генерация псевдослучайных чисел
    5.5.8. Бесконечность и значение NaN
5.6. Массивы
    5.6.1. Инициализация массива
    5.6.2. Получение и изменение элемента массива
    5.6.3. Определение числа элементов массива
    5.6.4. Ассоциативные массивы
    5.6.5. Многомерные массивы
    5.6.6. Создание копии массива
    5.6.7. Слияние массивов
    5.6.8. Перебор элементов массива
        Цикл foreach
        Цикл for
        Цикл while
        Перебор элементов массива без использования циклов
    5.6.9. Добавление и удаление элементов массива
    5.6.10. Переворачивание и перемешивание массива
    5.6.11. Сортировка массива
        Создание пользовательской сортировки
    5.6.12. Получение части массива
    5.6.13. Преобразование переменных в массив
    5.6.14. Преобразование массива в переменные
    5.6.15. Заполнение массива значениями
    5.6.16. Преобразование массива в строку
    5.6.17. Проверка наличия значения в массиве
    5.6.18. Операции со множествами
    5.6.19. Фильтрация массива
5.7. Строки
    5.7.1. Инициализация строк
    5.7.2. Специальные символы в строке
    5.7.3. Подстановка значений переменных в строку
    5.7.4. Конкатенация строк
    5.7.5. Строка в обратных кавычках. Запуск внешних программ
    5.7.6. Обращение к отдельному символу в строке
    5.7.7. Строки в кодировке UTF-8
    5.7.8. Преобразование кодировок
    5.7.9. Определение длины строки
    5.7.10. Настройка локали
    5.7.11. Изменение регистра символов
    5.7.12. Получение фрагмента строки
    5.7.13. Сравнение строк
    5.7.14. Поиск в строке
    5.7.15. Замена в строке
    5.7.16. Преобразование строки в массив и обратно
    5.7.17. Кодирование и шифрование строк
    5.7.18. Форматирование строки
5.8. Регулярные выражения PCRE
    5.8.1. Создание шаблона
    5.8.2. Синтаксис регулярных выражений
        Экранирование специальных символов
        Метасимволы
        Стандартные классы
        Квантификаторы
        Жадность квантификаторов
        Группы
        Обратные ссылки
        Просмотр вперед или назад
    5.8.3. Сравнение с шаблоном
    5.8.4. Поиск всех совпадений с шаблоном
    5.8.5. Замена в строке
    5.8.6. Функция preg_split()
    5.8.7. Функция preg_grep()
5.9. Работа с датой и временем
    5.9.1. Получение текущих даты и времени
    5.9.2. Форматирование даты и времени
    5.9.3. Проверка корректности введенной даты
    5.9.4. Класс DateTime
        Создание объекта
        Указание и получение значений
        Форматирование строки с датой и временем
        Разбор строки с датой и временем
        Прибавление и вычитание интервала
        Вычисление разницы между датами
        Сравнение двух объектов DateTime
    5.9.5. «Засыпание» программы
    5.9.6. Измерение времени выполнения
5.10. Пользовательские функции
    5.10.1. Создание функции
    5.10.2. Расположение описаний функций
    5.10.3. Операторы require и include. Выносим функции в отдельный файл
    5.10.4. Операторы require_once и include_once
    5.10.5. Проверка существования функции
    5.10.6. Вывод всех доступных сценарию функций
    5.10.7. Объявление типов параметров
    5.10.8. Строгая типизация
    5.10.9. Способы передачи параметров
    5.10.10. Способы возврата значений
    5.10.11. Переменное число параметров в функции
    5.10.12. Распаковка массива
    5.10.13. Глобальные и локальные переменные
    5.10.14. Статические переменные
    5.10.15. Анонимные функции
    5.10.16. Функции обратного вызова
    5.10.17. Функции-генераторы
    5.10.18. Рекурсия
5.11. Пространства имен
    5.11.1. Объявление пространства имен
    5.11.2. Использование пространств имен
    5.11.3. Инструкция use
5.12. Классы и объекты
    5.12.1. Создание класса и экземпляра класса
    5.12.2. Объявление свойств внутри класса
    5.12.3. Определение методов внутри класса
    5.12.4. Конструктор и деструктор
    5.12.5. Наследование
    5.12.6. Переопределение методов базового класса
    5.12.7. Финальные классы и методы
    5.12.8. Абстрактные классы и методы
    5.12.9. Объявление констант внутри класса
    5.12.10. Статические свойства и методы
    5.12.11. Методы-фабрики
    5.12.12. Полиморфизм
    5.12.13. Позднее статическое связывание
    5.12.14. Передача объектов в функцию
    5.12.15. Оператор instanceof
    5.12.16. Приведение типов
    5.12.17. Магические методы
    5.12.18. Сравнение объектов
    5.12.19. Автоматическая загрузка классов
    5.12.20. Функции для работы с классами и объектами
    5.12.21. Создание шаблона сайта при помощи класса
5.13. Интерфейсы
    5.13.1. Создание интерфейса
    5.13.2. Реализация интерфейса
    5.13.3. Реализация нескольких интерфейсов
    5.13.4. Расширение интерфейсов
    5.13.5. Создание констант внутри интерфейса
    5.13.6. Интерфейсы и обратный вызов
    5.13.7. Функции для работы с интерфейсами
    5.13.8. Сериализация объектов
        Методы __sleep() и __wakeup()
        Интерфейс Serializable
    5.13.9. Итераторы
        Интерфейс IteratorAggregate
        Интерфейс Iterator
5.14. Трейты
    5.14.1. Создание и импорт трейта
    5.14.2. Импорт нескольких трейтов
    5.14.3. Изменение модификатора доступа при импорте
    5.14.4. Приоритет при наследовании
    5.14.5. Импорт трейта внутри другого трейта
    5.14.6. Функции для работы с трейтами
5.15. Обработка ошибок
    5.15.1. Синтаксические ошибки
    5.15.2. Логические ошибки
    5.15.3. Ошибки времени выполнения
    5.15.4. Оператор @
    5.15.5. Управление отображением сообщений об ошибках
    5.15.6. Инструкция or die()
    5.15.7. Обработка и генерация пользовательских ошибок
    5.15.8. Инструкция try...catch...finally
    5.15.9. Оператор throw. Генерация исключений
    5.15.10. Иерархия классов исключений
    5.15.11. Пользовательские классы исключений
    5.15.12. Способы поиска ошибок в программе
5.16. Работа с файлами и каталогами
    5.16.1. Открытие и закрытие файла
    5.16.2. Установка и снятие блокировки
    5.16.3. Чтение и запись файлов
    5.16.4. Перемещение указателя внутри файла
    5.16.5. Создание списка рассылки с возможностью добавления, изменения и удаления адресов E-mail
    5.16.6. Чтение CSV-файлов. Преобразование CSV-файла в HTML-таблицу
    5.16.7. Права доступа в операционной системе UNIX
    5.16.8. Функции для работы с файлами
    5.16.9. Загрузка файлов на сервер
    5.16.10. Функции для работы с каталогами
    5.16.11. Создаем программу для просмотра всех доступных каталогов и файлов на диске
5.17. Взаимодействие с Интернетом
    5.17.1. Диалог между Web-браузером и сервером
    5.17.2. Основные заголовки HTTP
    5.17.3. Функция header()
    5.17.4. Перенаправление клиента на другой URL-адрес
    5.17.5. Запрет кэширования страниц
    5.17.6. Реализация ссылки Скачать
    5.17.7. Просмотр заголовков, отправляемых сервером
    5.17.8. Удаление заголовков
    5.17.9. Работа с cookies
    5.17.10. Создаем индивидуальный счетчик просмотров
    5.17.11. Разбор и кодирование URL-адреса
    5.17.12. Получение информации из сети Интернет
    5.17.13. Функция fsockopen()
    5.17.14. Использование библиотеки CURL
    5.17.15. Отправка писем с сайта
    5.17.16. Рассылка писем по адресам E-mail из файла
5.18. Обработка данных формы
    5.18.1. Текстовое поле, поле ввода пароля и скрытое поле
    5.18.2. Поле для ввода многострочного текста
    5.18.3. Список с возможными значениями
    5.18.4. Флажок
    5.18.5. Элемент-переключатель
    5.18.6. Кнопка Submit
    5.18.7. Проверка корректности данных. Создание формы регистрации пользователя
5.19. Аутентификация с помощью PHP
    5.19.1. Директивы для управления механизмом сессий
    5.19.2. Функции для управления сессиями
    5.19.3. Создание Личного кабинета
5.20. Работа с графикой
    5.20.1. Получение информации о библиотеке GD
    5.20.2. Загрузка изображения из файла
    5.20.3. Создание нового изображения
    5.20.4. Вывод изображения в Web-браузер
    5.20.5. Сохранение изображения в файл
    5.20.6. Получение информации об изображении
    5.20.7. Библиотека php_exif
    5.20.8. Работа с цветом
    5.20.9. Смешивание цветов
    5.20.10. Рисование линий и фигур
    5.20.11. Изменение характеристик линии
    5.20.12. Вывод текста в изображение
    5.20.13. Создаем счетчик посещений
    5.20.14. Изменение размеров и копирование изображений
    5.20.15. Обрезка изображения
    5.20.16. Вращение изображения
    5.20.17. Аффинные преобразования
    5.20.18. Применение фильтров
        Размытие изображения
        Изменение яркости и контраста
        Изменение цвета
        Выделение границ
        Разделение изображения на блоки
        Применение произвольного фильтра
    5.20.19. Создание зеркального отражения
    5.20.20. Создание скриншота экрана
5.21. Другие полезные функции
    5.21.1. Выделение фрагментов исходного кода
    5.21.2. Получение информации об интерпретаторе
    5.21.3. Изменение значения директив во время выполнения сценария
    5.21.4. Выполнение команд, содержащихся в строке

Глава 6. Основы MySQL. Работаем с базами данных

6.1. Основные понятия
6.2. Нормализация базы данных
6.3. Типы данных полей
    6.3.1. Числовые типы
    6.3.2. Строковые типы
    6.3.3. Дата и время
6.4. Основы языка SQL
    6.4.1. Создание базы данных
    6.4.2. Создание пользователя базы данных
    6.4.3. Создание таблицы
    6.4.4. Добавление данных в таблицу
    6.4.5. Обновление записей
    6.4.6. Удаление записей из таблицы
    6.4.7. Изменение структуры таблицы
    6.4.8. Выбор записей
    6.4.9. Выбор записей из нескольких таблиц
    6.4.10. Индексы. Ускорение выполнения запросов
    6.4.11. Удаление таблицы и базы данных
6.5. Доступ к базе данных MySQL из PHP-скрипта
    6.5.1. Установка соединения
    6.5.2. Выбор базы данных
    6.5.3. Выполнение запроса к базе данных
    6.5.4. Обработка результата запроса при процедурном стиле
    6.5.5. Обработка результата запроса при объектном стиле
    6.5.6. Экранирование специальных символов
6.6. Транзакции
    6.6.1. Автозавершение транзакций и его отключение
    6.6.2. Запуск, подтверждение и отмена транзакций
    6.6.3. Изоляция транзакций
        Введение в изоляцию транзакций
        Уровни изоляции транзакций
    6.6.4. Именованные точки сохранения
    6.6.5. Блокировка таблиц и строк
    6.6.6. Поддержка транзакций библиотекой php_mysqli.dll
6.7. Операторы MySQL
    6.7.1. Математические операторы
    6.7.2. Побитовые операторы
    6.7.3. Операторы сравнения
    6.7.4. Операторы присваивания
    6.7.5. Приоритет выполнения операторов
    6.7.6. Преобразование типов данных
6.8. Поиск по шаблону
6.9. Поиск с помощью регулярных выражений
6.10. Режим полнотекстового поиска
    6.10.1. Создание индекса FULLTEXT
    6.10.2. Реализация полнотекстового поиска
    6.10.3. Режим логического поиска
    6.10.4. Поиск с расширением запроса
6.11. Функции MySQL
    6.11.1. Функции для работы с числами
    6.11.2. Функции даты и времени
    6.11.3. Функции для обработки строк
    6.11.4. Функции для шифрования строк
    6.11.5. Информационные функции
    6.11.6. Прочие функции
6.12. Переменные SQL
6.13. Временные таблицы
6.14. Вложенные запросы
    6.14.1. Заполнение таблицы с помощью вложенного запроса
    6.14.2. Применение вложенных запросов в инструкции WHERE
    6.14.3. Применение вложенных запросов в инструкции FROM
6.15. Внешние ключи

Глава 7. AJAX. Обмен данными без перезагрузки Web-страницы

7.1. Подготовка к загрузке данных
    7.1.1. Стандартный способ
    7.1.2. Способ, применяемый в Internet Explorer 5 и 6
    7.1.3. Универсальный способ
7.2. Отправка запроса
    7.2.1. Синхронный или асинхронный запрос?
    7.2.2. Задание параметров запроса
    7.2.3. Задание MIME-типа отправляемых данных
    7.2.4. Собственно отправка запроса
    7.2.5. Отправка данных с запросом
7.3. Получение данных
    7.3.1. Назначение обработчика изменения статуса
    7.3.2. Определение успешного получения данных
    7.3.3. Собственно получение данных
7.4. Формат JSON
    7.4.1. Описание формата JSON
    7.4.2. Декодирование данных JSON: стандартный способ
    7.4.3. Декодирование данных JSON: способ, применяемый в устаревших Web-браузерах
    7.4.4. Декодирование данных JSON: универсальный способ
    7.4.5. Преобразование объекта в строку в формате JSON
    7.4.6. Кодирование и декодирование данных в формате JSON в PHP

Предметный указатель книги "HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд."