Предисловие
Глава 1. Знакомимся с PHP
Знакомьтесь: программа "Совет дня"
Программируем на стороне веб-сервера
Создаем простые HTML-страницы
Создаем на HTML страничку приветствия
Основные теги
Другие HTML-теги
Таблицы
Учимся использовать каскадные таблицы стилей
Создаем стили отдельных элементов
Внутренние стили
Внешние таблицы стилей
Используем элементы форм
Текстовые элементы
Создаем элементы выбора
Добавляем кнопки
Добавляем к странице код, написанный на PHP
Проверяем, поддерживает ли ваш сервер PHP
Добавляем к HTML-странице команды на PHP
Исследуем результаты
Создаем программу "Совет дня"
Итоги
Глава 2. Используем переменные и элементы ввода
Представляем программу, рассказывающую сказки
Используем в сценариях переменные
Представляем программу "Hi Jacob"
Создаем строковую переменную
Используем переменные при создании более сложных страниц
Работаем с числовыми переменными
Создаем форму, задающую пользователю вопрос
Создаем HTML-страницу с формой
Назначаем для файла сценария атрибут Action
Отправляем данные без использования форм
Используем URL для передачи данных из форм
Как работают запросы с несколькими полями
Извлекаем данные из других элементов форм
Возвращаемся к программе, рассказывающей сказки
Планируем программу
Создаем HTML-страницу
Проверяем форму
Создаем готовую сказку
Итоги
Глава 3. Управляем работой программы с помощью условий и функций
Представляем игру "Сколько лепестков у розы"
Генерируем случайное число
Рассматриваем программу "Roll \'em"
Выводим соответствующую картинку
Управляем течением работы программы при помощи оператора if
Обрабатываем отрицательные результаты
Работаем с несколькими значениями
Соединяем форму и ее результаты
Выделяем самостоятельные части программы с помощью функций
Разбираем инкапсуляцию в основном коде
Возвращаем значение: функция chorus()
Передаем параметр в функцию verse()
Задаем область видимости переменной
Пример области видимости переменной
Возвращаемся к игре "Сколько лепестков у розы"
Итоги
Глава 4. Циклы и массивы: покер в кости
Представляем игру "Покер в кости"
Считаем с помощью цикла for
Инициализируем переменную цикла
Устанавливаем условие завершения цикла
Изменяем значение переменной цикла
Создаем цикл
Изменяем цикл for
Считаем в цикле с шагом пять
Считаем в обратном порядке
Используем цикл while
Повторяем выполнение кода в цикле while
Создаем корректный цикл
Работаем с простыми массивами
Создаем простой массив
Улучшаем программу "This Old Man" с помощью массивов и циклов
Сохраняем данные между запусками программы
Считаем в полях формы
Сохраняем данные в текстовом поле
Используем скрытое поле для надежного хранения данных
Создаем программу "Покер в кости"
Создаем начальный HTML-код
Разрабатываем основной код программы
Создаем функцию rollDice()
Выводим содержимое таблицы
Выводим окончание таблицы
Создаем функцию evaluate()
Выводим результаты
Итоги
Глава 5. Улучшенная обработка массивов и строк
Знакомимся с игрой "Поиск слов"
Используем цикл foreach для работы с массивом
Знакомимся с программой foreach.php
Создаем ассоциативный массив
Изучаем программу assoc.php
Построение ассоциативного массива
Построение ассоциативного массива с помощью функции array()
Используем цикл foreach в ассоциативных массивах
Используем встроенные ассоциативные массивы
Знакомимся с программой formReader.php
Используем массив $_REQUEST
Создаем многомерный массив
Создаем HTML для простого многомерного массива
Отвечаем на запрос определения расстояния
Создаем двухмерный ассоциативный массив
Создаем HTML для ассоциативного массива
Отвечаем на запрос
Построение двумерного ассоциативного массива
Получаем данные из двумерного ассоциативного массива
Управляем строковыми значениями
Демонстрация работы со строками на примере переводчика на забавную латынь
Построение формы
Используем функцию Split для помещения строки в массив
Обрезаем строки с помощью функции rtrim()
Находим подстроки с помощью функции substr()
Используем strstr() для поиска одной строки внутри другой
Используем оператор конкатенации
Завершаем программу забавной латыни
Переводим ASCII-коды в символы
Возвращаемся к программе "Поиск слов"
Получаем данные головоломки от пользователя
Настраиваем страницу вывода
Работаем с пустым набором данных
Создаем основную логику программы
Анализируем список слов
Очищаем поля
Заполняем поля
Добавляем слова
Создаем доску головоломки
Добавляем контрастные буквы
Выводим головоломку
Печатаем ключ ответов
Итоги
Глава 6. Работаем с файлами
Предварительный обзор машины тестирования
Введение в систему машины тестирования
Редактирование теста
Прохождение тестирования
Просмотр результатов
Просмотр журнала событий теста
Сохраняем файл в файловой системе
Знакомимся с программой saveSonnet.php
Открываем файл с помощью fopen
Создаем дескриптор файла
Рассмотрение модификаторов доступа к файлам
Записываем данные в файл
Закрываем файл
Загружаем файл из дисковой системы
Знакомимся с программой loadSonnet.php
Используем таблицы CSS для улучшения вывода
Используем модификатор доступа "r"
Проверяем достижение конца файла с помощью feof()
Считываем данные из файла с помощью fgets()
Считываем файл в массив
Представляем программу cartoonifier.php
Загружаем файл в массив с помощью file()
Используем str_replace() для изменения содержимого файла
Работаем с информацией о директориях
Знакомимся с программой imageIndex.php
Создание дескриптора директории с помощью openDir()
Получаем список файлов с помощью readdir()
Выбираем заданные файлы с помощью preg_grep()
Используем основные регулярные выражения
Храним вывод
Работаем с форматированным текстом
Введение в программу mailMerge.php
Определяем формат данных
Изучаем код программы mailMerge.php
Загружаем данные с помощью команды file()
Разделяем строки массива в скалярные значения
Созданиеем программу машины тестирования
Создаем страницу управления QuizMachine.php
Редактируем тест
Сохраняем тест
Проходим тестирование
Оцениваем тест
Просмотр журнала
Итоги
Глава 7. Используем MySQL для создания баз данных
Представляем программу создания приключений
Используем систему управления базами данных
Работаем с MySQL
Инсталлируем MySQL
Используем выполняемый файл MySQL
Создаем базу данных
Создаем таблицу
Вставляем значения
Выбираем результаты
Написание скрипта для создания таблицы
Создаем комментарии в SQL
Удаляем таблицу
Выполняем скрипт с помощью команды SOURCE
Работаем с базой данных в SQLyog
Соединяемся с сервером
Создаем и изменяем таблицу
Редактируем данные таблицы
Экспортируем таблицу
Создаем более функциональные запросы
Выбираем столбцы
Выбираем строки с помощью команды WHERE
Изменяем данные с помощью команды UPDATE
Возвращаемся к приключенческой игре
Разрабатываем структуру данных
Итоги
Глава 8. Соединяемся с базой данных при помощи PHP
Соединяемся с базой данных героев
Устанавливаем соединение
Выбираем базу данных
Создаем запрос
Получаем названия полей
Анализируем результирующий набор
Возвращаемся к программе приключенческой игры
Соединяемся с базой данных приключений
Отображаем один сегмент
Просматриваем и выбираем записи
Редактируем запись
Записываем изменения в базу данных
Итоги
Глава 9. Нормализация данных
Введение в базу данных шпионов
База данных badSpy
Проблема противоречивости данных
Проблема с информацией об операциях
Проблемы с полями списков
Проектируем улучшенную структуру данных
Определяем правила для правильного проектирования данных
Нормализация данных
Определяем типы взаимосвязей
Создаем таблицу данных
Настраиваем систему
Создаем таблицу агентов
Создаем таблицу операций
Используем связи для соединения таблиц
Создаем полезные соединения
Изучаем соединений без использования команды WHERE
Добавляем команду WHERE для создания корректных объединений
Добавляем условия в запрос объединения
Создаем таблицы связей для отношения "многие ко многим"
Улучшаем ER-диаграмму
Создаем таблицу специальностей
Интерпретируем таблицу agent_specialty с помощью запроса
Создаем запросы, использующие таблицы связей
Итоги
Глава 10. Создаем приложения, использующие трехзвенную модель данных
Представляем программу Spy Master
Просмотр основного экрана
Просмотр результатов выполнения запроса
Просмотр данных таблицы
Редактируем запись
Подтверждаем обновление записи
Удаляем запись
Добавляем запись
Обрабатываем добавление
Создаем модель системы SpyMaster
Создаем диаграмму состояний
Проектируем архитектуру системы
Создаем библиотеку функций
Создаем не входящий в библиотеку код
Подготавливаем базу данных
Исследуем программу spyMaster.php
Создаем программу viewQuery.php
Просмотр программы editTable.php
Просмотр программы editRecord.php
Просмотр программы updateRecord.php
Просмотр программы deleteRecord.php
Просмотр программы addRecord.php
Просмотр программы processAdd.php
Создаем библиотечный модуль spyLib
Устанавливаем стиль CSS
Настраиваем глобальные переменные
Соединяемся с базой данных
Создаем список из запроса
Создаем HTML таблицу из запроса
Создаем таблицу HTML для редактирования таблицы SQL
Создаем основную форму для редактирования записи
Создаем более умную форму редактирования
Определяем тип поля
Работаем с первичным ключом
Распознаем внешние ключи
Создаем окно списка внешних ключей
Работаем с обычными полями
Обновляем запись
Удаляем запись
Добавляем запись
Обрабатываем добавленную запись
Создаем окно списка из поля
Итоги