Разработка веб-приложений с помощью PHP и MySQL

Люк Веллинг, Лора Томсон

Исчерпывающее учебное пособие по разработке веб-приложений, управляемых базами данных, с использованием PHP и MySQL!

Эта книга предназначена для тех, кто знаком с основами HTML и ранее разрабатывал программы на современных языках программирования, но, возможно, не занимался программированием для Веб или не использовал реляционные базы данных.

В ней подробно описано применение последних версий PHP и MySQL для построения крупных коммерческих Web-сайтов. Основное внимание в книге уделено реальным приложениям. Здесь рассматриваются как простые интерактивные системы приема заказов, так и различные аспекты электронных систем продажи и безопасности во взаимосвязи с созданием реального Web-сайта. Подробно описаны все стадии разработки множества типовых проектов на PHP и MySQL, в числе которых служба веб-почты, приложение поддержки Web-форумов и электронный книжный магазин. Заслуживают особого внимания главы, посвященные объектно-ориентированному программированию на PHP, динамической генерации документов, доступу к веб-службам с помощью XML и SOAP и созданию приложений Web 2.0 с помощью Ajax.

Основное отличие этого издания от предыдущего состоит в том, что материалы и весь исходный код полностью переписаны для новых версий PHP 5.3 и MySQL 5.1.

Книга ориентирована на профессиональных разработчиков, но будет полезной и начинающим.

PHP и MySQL представляют собой популярные технологии с открытым исходным кодом, которые практически идеально подходят для быстрой и эффективной разработки веб-приложений, управляемых базами данных. PHP - это мощный язык написания сценариев, специально созданный для того, чтобы предоставить разработчикам все возможности по быстрому построению веб-приложений. MySQL является высокопроизводительной и надежной системой управления базами данных, которая, с одной стороны, хорошо интегрируется с PHP и, с другой стороны, ориентирована на реализацию динамических Интернет-приложений.

В книге продемонстрировано, как эти два инструмента используются для создания высокоэффективных и, в то же время, интерактивных веб-приложений. Здесь представлено исчерпывающее описание языка PHP, а также рассмотрены вопросы настройки и работы с базами данных MySQL и особенности взаимодействия PHP-сценариев с базами данных и серверами.

В эту практическую, изобилующую реальными примерами книгу включено множество приложений, на основе которых демонстрируется решение общих задач: методика аутентификации посетителей на сайте; разработка полнофункциональной покупательской тележки; динамическая генерация изображений и PDF-документов; отправка и обработка электронной почты; организация дискуссионных форумов; подключение к веб-службам с использованием XML и разработка приложений Web 2.0 с интерактивностью, обеспечиваемой Ajax.

Четвертое издание книги претерпело существенные изменения - весь материал был тщательно пересмотрен и дополнен, и теперь он полностью соответствует новым версиям PHP 5.3 и MySQL 5.1.

Издательство: Вильямс, 2010 г.

ISBN 978-5-8459-1574-0, 978-0-672-32916-6

Количество страниц: 848.

Содержание книги «Разработка веб-приложений с помощью PHP и MySQL»:

  • 25 Об авторах
  • 25 О соавторах
  • 26 Благодарности
  • 26 От издательства
  • 27 Введение
    • 27 Для чего следует прочесть эту книгу
    • 28 Чего можно добиться, используя эту книгу
    • 28 Что такое PHP?
    • 29 Что такое MySQL?
    • 29 Для чего следует использовать PHP и MySQL?
    • 30 Некоторые преимущества PHP
      • 30 Производительность
      • 31 Масштабируемость
      • 31 Интеграция с базами данных
      • 31 Встроенные библиотеки
      • 31 Стоимость
      • 31 Простота изучения PHP
      • 31 Поддержка объектно-ориентированного программирования
      • 32 Переносимость
      • 32 Гибкость подхода к разработке
      • 32 Исходный код
      • 32 Доступность поддержки и документации
    • 32 Что нового в версии PHP 5?
      • 33 Ключевые средства PHP 5.3
    • 34 Некоторые преимущества MySQL
      • 34 Производительность
      • 34 Низкая стоимость
      • 35 Простота использования
      • 35 Переносимость
      • 35 Исходный код
      • 35 Доступность поддержки
    • 35 Что нового в версии MySQL 5?
    • 36 Как построена эта книга
    • 36 Заключение
  • 37 Часть I. Использование PHP
  • 38 Глава 1. Введение в PHP
    • 39 Предварительное условие: доступ к PHP
    • 39 Пример приложения: “Автозапчасти от Вована”
      • 39 Форма заказа
      • 41 Обработка формы
    • 41 Встраивание PHP в HTML
      • 42 PHP-дескрипторы
      • 43 Операторы PHP
      • 44 Пробелы
      • 44 Комментарии
    • 45 Добавление динамического содержимого
      • 45 Вызов функций
      • 46 Использование функции date()
    • 46 Доступ к переменным формы
      • 46 Короткие, средние и длинные переменные
      • 49 Конкатенация строк
      • 50 Переменные и литералы
    • 50 Идентификаторы
    • 51 Типы переменных
      • 51 Типы данных PHP
      • 52 Степень типизации
      • 52 Приведение типов
      • 53 Переменные переменных
    • 53 Объявление и использование констант
    • 54 Область действия переменных
    • 55 Использование операций
      • 55 Арифметические операции
      • 56 Строковые операции
      • 56 Операции присваивания
      • 59 Операции сравнения
      • 60 Логические операции
      • 60 Поразрядные операции
      • 61 Другие операции
    • 63 Вычисление итоговых сумм для формы
    • 64 Приоритет и ассоциативность: вычисление выражений
    • 66 Использование функций для работы с переменными
      • 66 Проверка и установка типов переменных
      • 67 Проверка состояния переменных
      • 68 Повторная интерпретация переменных
    • 68 Принятие решений на основе условий
      • 68 Операторы if
      • 69 Блоки кода
      • 69 Операторы else
      • 70 Операторы elseif
      • 71 Операторы switch
      • 72 Сравнение разных условных операторов
    • 73 Повторение действий с помощью итераций
      • 74 Циклы while
      • 75 Циклы for и foreach
      • 76 Циклы do..while
    • 77 Выход из управляющей структуры или сценария
    • 77 Использование альтернативного синтаксиса управляющих структур
    • 77 Использование declare
    • 78 Что дальше
  • 79 Глава 2. Хранение и выборка данных
    • 79 Сохранение данных для дальнейшего их использования
    • 80 Сохранение и выборка заказов в компании «Автозапчасти от Вована»
    • 81 Обработка файлов
    • 81 Открытие файла
      • 81 Режимы файлов
      • 82 Использование функции fopen() для открытия файла
      • 84 Открытие файлов через FTP или HTTP
      • 84 Возможные проблемы при открытии файлов
    • 87 Запись в файл
      • 87 Параметры функции fwrite()
      • 87 Форматы файлов
    • 88 Закрытие файла
    • 90 Считывание из файла
      • 90 Открытие файла для чтения: функция fopen()
      • 91 Как узнать, где остановиться: функция feof()
      • 91 Построчное чтение: функции fgets(), fgetss() и fgetcsv()
      • 92 Чтение всего файла: функции readfile(), fpassthru() и file()
      • 93 Чтение символа: функция fgetc()
      • 94 Чтение строк произвольной длины: функция fread()
    • 94 Другие полезные файловые функции
      • 94 Проверка, существует ли файл: функция file_exists()
      • 94 Выяснение размера файла: функция filesize()
      • 94 Удаление файла: функция unlink()
      • 95 Перемещение внутри файла: функции rewind(), fseek() и ftell()
    • 96 Блокирование файлов
    • 97 Лучший способ: системы управления базами данных
      • 97 Проблемы, связанные с использованием двумерных файлов
      • 98 Как эти проблемы устраняются с помощью систем управления реляционными базами данных
    • 99 Дополнительные источники информации
    • 99 Что дальше
  • 100 Глава 3. Использование массивов
    • 101 Что такое массив
    • 101 Численно-индексированные массивы
      • 102 Инициализация численно-индексированных массивов
      • 102 Доступ к содержимому массива
      • 103 Использование циклов для доступа к массиву
    • 104 Массивы с различными индексами
      • 104 Инициализация массива
      • 104 Доступ к элементам массива
    • 104 Использование циклов
    • 106 Операции для работы с массивами
    • 107 Многомерные массивы
    • 110 Сортировка массивов
      • 110 Использование функции sort()
      • 110 Использование функций asort() и ksort() для сортировки массивов
      • 111 Сортировка в обратном порядке
    • 111 Сортировка многомерных массивов
      • 111 Определяемые пользователем функции сортировки
      • 113 Определяемая пользователем сортировка в обратном порядке
    • 114 Изменение порядка следования элементов в массивах
      • 114 Использование функции shuffle()
      • 115 Использование функции array_reverse()
    • 116 Загрузка массивов из файлов
    • 118 Другие манипуляции с массивами
      • 119 Перемещение внутри массива: функции each(), current(), reset(), end(), next(), pos() и prev()
      • 119 Применение любой функции к каждому элементу массива: функция array_walk()
      • 121 Подсчет элементов в массиве: функции count(), sizeof() и array_count_values()
      • 121 Преобразование массивов в скалярные переменные: функция extract()
    • 123 Дополнительные источники информации
    • 123 Что дальше
  • 124 Глава 4. Манипулирование строками и регулярные выражения
    • 124 Пример приложения: интеллектуальная форма отправки электронной почты
    • 126 Форматирование строк
      • 127 Усечение строки: функции chop(), ltrim() и trim()
      • 127 Форматирование строк для отображения
      • 130 Форматирование строк для хранения: функции addslashes() и stripslashes()
    • 132 Объединение и разбиение строк с помощью строковых функций
      • 132 Использование функций explode(), implode() и join()
      • 133 Использование функции strtok()
      • 134 Использование функции substr()
    • 135 Сравнение строк
      • 135 Упорядочение строк: функции strcmp(), strcasecmp() и strnatcmp()
      • 135 Проверка длины строки с помощью функции strlen()
    • 136 Сопоставление и замена подстрок с помощью строковых функций
      • 136 Поиск подстрок в строках: функции strstr(), strchr(), strrchr() и stristr()
      • 137 Определение позиции подстроки: функции strpos() и strrpos()
      • 138 Замена подстрок: функции str_replace() и substr_replace()
    • 139 Введение в регулярные выражения
      • 140 Основы
      • 140 Наборы символов и классы
      • 141 Повторение
      • 141 Подвыражения
      • 142 Подвыражения с подсчетом
      • 142 Привязка к началу или концу строки
      • 142 Ветвление
      • 143 Сопоставление с литеральными значениями специальных символов
      • 143 Краткое описание специальных символов
      • 144 Использование регулярных выражений в приложении интеллектуальной формы отправки электронной почты
    • 145 Поиск подстрок с помощью регулярных выражений
    • 145 Замена подстрок с помощью регулярных выражений
    • 146 Разбиение строк с помощью регулярных выражений
    • 146 Дополнительные источники информации
    • 147 Что дальше
  • 148 Глава 5. Многократное использование кода и создание функций
    • 149 Преимущества многократного использования кода
      • 149 Затраты
      • 149 Надежность
      • 149 Единообразие
    • 150 Использование операторов require() и include()
      • 150 Расширения имен файлов и require()
    • 152 Использование оператора require() для шаблонов веб-сайта
      • 156 Использование конфигурационных параметров auto_prepend_file и auto_append_file
    • 157 Использование функций в PHP
      • 157 Вызов функций
      • 159 Вызов неопределенной функции
      • 160 Регистр символов и имена функций
    • 160 Определение собственных функций
      • 160 Базовая структура функции
      • 161 Именование функций
    • 162 Параметры
    • 164 Область действия
    • 166 Передача по ссылке и передача по значению
    • 168 Ключевое слово return
    • 169 Возврат значений из функции
    • 170 Реализация рекурсии
    • 171 Пространства имен
    • 172 Дополнительные источники информации
    • 172 Что дальше
  • 173 Глава 6. Объектно-ориентированное программирование на PHP
    • 174 Концепции объектно-ориентированного программирования
      • 174 Классы и объекты
      • 175 Полиморфизм
      • 176 Наследование
    • 176 Создание классов, атрибутов и операций в PHP
      • 176 Структура класса
      • 177 Конструкторы
      • 177 Деструкторы
    • 178 Создание экземпляров класса
    • 178 Использование атрибутов класса
    • 180 Управление доступом с помощью модификаторов private и public
    • 181 Вызов операций класса
    • 181 Реализация наследования в PHP
      • 182 Управление видимостью при наследовании с помощью модификаторов private и protected
      • 183 Переопределение
      • 184 Предотвращение наследования и переопределения с помощью final
      • 185 Множественное наследование
      • 186 Реализация интерфейсов
      • 186 Проектирование классов
    • 187 Написание кода класса
    • 194 Дополнительные объектно-ориентированные возможности в PHP
      • 195 Использование констант класса
      • 195 Реализация статических методов
      • 195 Проверка типа объекта и указание типов
      • 196 Позднее статическое связывание
      • 196 Клонирование объектов
      • 197 Использование абстрактных классов
      • 197 Перегрузка методов с помощью метода __call()
      • 198 Использование __autoload()
      • 198 Реализация итераторов и итерации
      • 200 Преобразование классов в строки
      • 200 Использование Reflection API
    • 201 Что дальше
  • 202 Глава 7. Обработка ошибок и исключений
    • 202 Концепции обработки ошибок
    • 204 Класс Exception
    • 204 Исключения, определяемые пользователем
    • 207 Исключения в приложении “Автозапчасти от Вована”
    • 210 Исключения и другие механизмы обработки ошибок PHP
    • 210 Дополнительные источники информации
    • 210 Что дальше
  • 211 Часть II. Использование MySQL
  • 212 Глава 8. Проектирование баз данных для веб-приложений
    • 213 Концепции реляционных баз данных
      • 213 Таблицы
      • 214 Столбцы
      • 214 Строки
      • 214 Значения
      • 214 Ключи
      • 215 Схемы
      • 216 Отношения
    • 216 Как спроектировать собственную базу данных для веб-приложения
      • 216 Думайте о реальных объектах, которые вы моделируете
      • 217 Избегайте хранения избыточной информации
      • 219 Используйте элементарные значения столбцов
      • 220 Выбирайте подходящие ключи
      • 220 Подумайте, какие вопросы потребуется задавать базе данных
      • 220 Избегайте проектов с большим количеством пустых атрибутов
      • 221 Типы таблиц
    • 221 Архитектура баз данных для веб-приложений
    • 223 Дополнительная информация
    • 223 Что дальше
  • 224 Глава 9. Создание базы данных для веб-приложений
    • 225 Использование монитора MySQL
    • 226 Вход в MySQL
    • 227 Создание баз данных и пользователей
    • 227 Настройка пользователей и полномочий
    • 228 Знакомство с системой полномочий MySQL
      • 228 Принцип минимально необходимых полномочий
      • 228 Настройка пользователей: команда GRANT
      • 230 Типы и уровни полномочий
      • 232 Команда REVOKE
      • 232 Примеры использования команд GRANT и REVOKE
    • 233 Установка пользователя для доступа из Интернета
    • 233 Использование требуемой базы данных
    • 234 Создание таблиц баз данных
      • 235 Значения других ключевых слов
      • 236 Что означают типы столбцов
      • 237 Просмотр базы данных с помощью команд SHOW и DESCRIBE
      • 238 Создание индексов
    • 239 Идентификаторы в MySQL
    • 240 Типы данных столбцов
      • 240 Числовые типы
    • 244 Дополнительные источники информации
    • 244 Что дальше
  • 245 Глава 10. Работа с базой данных MySQL
    • 245 Что такое SQL?
    • 246 Вставка в базу данных
    • 248 Извлечение из базы данных
      • 249 Извлечение данных по определенному критерию
      • 251 Извлечение данных из нескольких таблиц
      • 256 Извлечение данных в определенном порядке
      • 256 Группировка и агрегирование данных
      • 258 Выбор возвращаемых строк
      • 259 Использование подзапросов
    • 261 Обновление записей в базе данных
    • 261 Изменение таблиц после создания
    • 264 Удаление записей из базы данных
    • 264 Удаление таблиц
    • 264 Удаление целой базы данных
    • 264 Дополнительные источники информации
    • 265 Что дальше
  • 266 Глава 11. Веб-доступ к базе данных MySQL с помощью РНР
    • 267 Как работает архитектура баз данных для Интернет-доступа
    • 269 Выполнение Интернет-запросов к базе данных
      • 270 Проверка и фильтрация входных данных
    • 271 Установка соединения
    • 272 Выбор базы данных
    • 272 Выполнение запроса к базе данных
    • 273 Получение результатов запроса
    • 274 Отсоединение от базы данных
    • 274 Внесение новой информации в базу данных
    • 277 Использование подготовленных операторов
    • 278 Использование других РНР-интерфейсов работы с базами данных
    • 279 Использование обобщенного интерфейса базы данных: PEAR MDB2
    • 281 Дополнительные источники информации
    • 281 Что дальше
  • 282 Глава 12. Дополнительные сведения по администрированию MySQL
    • 282 Подробное ознакомление с системой полномочий
      • 283 Таблица user
      • 285 Таблицы db и host
      • 286 Таблицы tables_priv, columns_priv и procs_priv
      • 287 Управление доступом: использование таблиц полномочий в среде MySQL
      • 288 Обновление полномочий: когда изменения вступают в силу?
    • 288 Обеспечение безопасности базы данных MySQL
      • 288 MySQL с точки зрения операционной системы
      • 289 Пароли
      • 289 Полномочия пользователей
      • 290 Проблемы, связанные с веб-доступом
    • 291 Получение дополнительной информации о базах данных
      • 291 Получение информации с помощью оператора SHOW
      • 293 Получение информации о столбцах с помощью оператора DESCRIBE
      • 293 Получение информации о способе выполнения запросов с помощью оператора EXPLAIN
    • 297 Оптимизация базы данных
      • 297 Оптимизация проекта
      • 298 Права доступа
      • 298 Оптимизация таблиц
      • 298 Использование индексов
      • 298 Использование значений по умолчанию
      • 298 Дополнительные советы
    • 299 Резервное копирование базы данных MySQL
    • 299 Восстановление базы данных MySQL
    • 300 Реализация репликации
      • 301 Настройка ведущего сервера
      • 301 Выполнение первоначальной передачи данных
      • 302 Создание одного или нескольких ведомых серверов
    • 302 Дополнительные источники информации
    • 302 Что дальше
  • 303 Глава 13. Дополнительные сведения по программированию в MySQL
    • 303 Оператор LOAD DATA INFILE
    • 304 Механизмы хранения
    • 305 Транзакции
      • 305 Определения транзакций
      • 306 Использование транзакций с таблицами InnoDB
    • 307 Внешние ключи
    • 308 Хранимые процедуры
      • 308 Простой пример
      • 310 Локальные переменные
      • 311 Курсоры и управляющие структуры
    • 314 Дополнительные источники информации
    • 314 Что дальше
  • 315 Часть III. Электронная коммерция и безопасность
  • 316 Глава 14. Эксплуатация сайта электронной коммерции
    • 316 Определение целей, которые должны быть достигнуты
    • 317 Типы коммерческих веб-сайтов
      • 317 Сетевые брошюры
      • 320 Прием заказов на товары и услуги
      • 324 Предоставление услуг и цифровых товаров
      • 324 Повышение привлекательности товаров и услуг
      • 325 Снижение расходов
    • 326 Риски и угрозы
      • 326 Взломщики
      • 327 Невозможность быстрой отдачи средств
      • 327 Отказы компьютерного оборудования
      • 327 Сбои питания, коммуникационных линий, сети и службы доставки
      • 327 Интенсивная конкуренция
      • 328 Ошибки программного обеспечения
      • 328 Изменения в политике и налогообложении
      • 328 Ограниченные возможности системы
    • 329 Выбор стратегии
    • 329 Что дальше
  • 330 Глава 15. Безопасность сайта электронной коммерции
    • 331 Важность деловой информации
    • 331 Угрозы безопасности
      • 332 Разглашение конфиденциальных данных
      • 334 Потеря или разрушение данных
      • 334 Изменение данных
      • 335 Отказ в обслуживании
      • 336 Ошибки программного обеспечения
      • 337 Отказ от обязательств
    • 338 Удобство использования, производительность, снижение затрат и безопасность
    • 339 Разработка политики безопасности
    • 339 Принципы аутентификации
    • 341 Основы шифрования
    • 342 Шифрование секретным ключом
    • 343 Шифрование открытым ключом
    • 344 Цифровые подписи
    • 345 Цифровые сертификаты
    • 345 Защищенные веб-серверы
    • 347 Аудит и регистрация
    • 347 Брандмауэры
    • 348 Резервное копирование данных
      • 348 Резервное копирование общих файлов
      • 349 Резервное копирование и восстановление баз данных MySQL
    • 349 Физическая безопасность
    • 350 Что дальше
  • 351 Глава 16. Безопасность веб-приложений
    • 351 Стратегии защиты
      • 352 Сразу настройтесь на верный лад
      • 352 Баланс между безопасностью и удобством использования
      • 352 Мониторинг безопасности
      • 353 Наш базовый подход
    • 353 Возможные угрозы
      • 353 Доступ к секретным данным или их изменение
      • 354 Пропажа или уничтожение данных
      • 354 Отказ в обслуживании
      • 354 Внедрение вредоносного кода
      • 355 Компрометация сервера
    • 355 Определение, с кем мы имеем дело
      • 355 Взломщики
      • 355 Ничего не подозревающие пользователи зараженных машин
      • 356 Недовольные работники
      • 356 Кражи оборудования
      • 356 Мы сами
    • 356 Защита кода
      • 357 Фильтрация пользовательского ввода
      • 360 Литерализация выходных данных
      • 362 Организация кода
      • 362 Содержимое кода
      • 363 Файловая система
      • 363 Устойчивость кода и ошибки
      • 364 Кавычки выполнения и вызов exec
    • 365 Защита веб-браузера и PHP
      • 366 Следите за обновлениями ПО
      • 366 Просмотр файла php.ini
      • 367 Настройка веб-сервера
      • 369 Веб-приложения на коммерческих хостах
    • 369 Защита сервера баз данных
      • 370 Пользователи и права доступа
      • 370 Отправка данных на сервер
      • 371 Подключение к серверу
      • 372 Работа сервера
    • 372 Защита сети
      • 372 Установите брандмауэры
      • 372 Используйте DMZ
      • 373 Подготовьтесь к DoS- и DDoS-атакам
    • 374 Защита компьютера и операционной системы
      • 374 Своевременное обновление операционной системы
      • 374 Запускайте только необходимые программы
      • 374 Физическая защита сервера
    • 375 Планирование катастроф
    • 376 Что дальше
  • 377 Глава 17. Реализация аутентификации с помощью PHP и MySQL
    • 377 Идентификация посетителей
    • 378 Реализация контроля доступа
      • 380 Хранение паролей
      • 382 Шифрование паролей
      • 383 Защита нескольких страниц
    • 384 Базовая аутентификация
    • 385 Использование базовой аутентификации в PHP
    • 387 Использование базовой аутентификации с помощью файлов .htaccess сервера Apache
    • 390 Использование аутентификации с помощью модуля mod_auth_mysql
      • 391 Установка модуля mod_auth_mysql
      • 391 Использование модуля mod_auth_mysql
    • 392 Создание собственного метода аутентификации
    • 393 Дополнительные источники информации
    • 393 Что дальше
  • 394 Глава 18. Реализация защищенных транзакций с помощью PHP и MySQL
    • 394 Обеспечение безопасности транзакций
      • 395 Компьютер пользователя
      • 396 Интернет
      • 397 Ваша система
    • 398 Использование протокола защищенных сокетов (SSL)
      • 401 Проверка введенных пользователем данных
    • 402 Обеспечение безопасного хранения данных
    • 403 Надежное хранение номеров кредитных карточек
    • 403 Использование шифрования в PHP
      • 404 Инсталляция GPG
      • 406 Тестирование GPG
    • 411 Дополнительные источники информации
    • 411 Что дальше
  • 413 Часть IV. Более сложные технологии PHP
  • 414 Глава 19. Взаимодействие с файловой системой и сервером
    • 414 Выгрузка файлов
      • 415 HTML-код для загрузки файла
      • 417 Написание PHP-сценария для работы с файлами
      • 420 Устранение часто встречающихся проблем
    • 421 Использование функций работы с каталогами
      • 421 Чтение содержимого каталога
      • 424 Получение информации о текущем каталоге
      • 424 Создание и удаление каталогов
    • 425 Взаимодействие с файловой системой
      • 425 Получение информации о файле
      • 427 Изменение свойств файла
      • 428 Создание, удаление и перемещение файлов
    • 428 Использование функций запуска программ
    • 431 Взаимодействие со средой: функции getenv() и putenv()
    • 431 Дополнительные источники информации
    • 431 Что дальше
  • 432 Глава 20. Использование функций работы с сетью и протоколами
    • 432 Обзор сетевых протоколов
    • 433 Отправка и получение почты
    • 433 Использование данных с других веб-сайтов
    • 436 Использование функций сетевого контроля
    • 439 Создание резервных и зеркальных копий файлов
      • 440 Использование FTP для резервного и зеркального копирования файла
      • 445 Выгрузка файлов на сервер
      • 446 Как избежать тайм-аутов
      • 446 Другие функции работы с FTP
    • 447 Дополнительные источники информации
    • 447 Что дальше
  • 448 Глава 21. Работа с датой и временем
    • 448 Получение даты и времени средствами PHP
      • 448 Использование функции date()
      • 450 Работа с метками времени Unix
      • 451 Использование функции getdate()
      • 453 Проверка правильности дат с помощью функции checkdate()
      • 453 Форматирование меток времени
    • 455 Преобразования дат между форматами PHP и MySQL
    • 456 Операции над датами в PHP
    • 457 Операции над датами в MySQL
    • 458 Использование микросекунд
    • 459 Использование календарных функций
    • 460 Дополнительные источники информации
    • 460 Что дальше
  • 461 Глава 22. Генерация изображений
    • 462 Настройка поддержки изображений в PHP
    • 462 Форматы изображений
      • 462 JPEG
      • 463 PNG
      • 463 WBMP
      • 463 GIF
    • 464 Создание изображений
      • 465 Создание холста
      • 465 Рисование и вывод текста в изображении
      • 467 Вывод полученного изображения
      • 468 Освобождение ресурсов
    • 468 Использование автоматически сгенерированных изображений на других страницах
    • 469 Использование текста и шрифтов при создании изображений
      • 471 Настройка базового холста
      • 472 Подбор размера текста на кнопке
      • 474 Позиционирование текста
      • 474 Вывод текста на кнопку
      • 475 Заключительные действия
    • 475 Вычерчивание фигур и построение графиков
    • 482 Другие функции обработки изображений
    • 482 Дополнительные источники информации
    • 482 Что дальше
  • 483 Глава 23. Управление сеансами в PHP
    • 483 Что такое управление сеансами
    • 483 Базовая функциональность сеансов
      • 484 Что такое cookie-набор?
      • 484 Установка cookie-наборов из PHP
      • 485 Использование cookie-наборов в сеансах
      • 485 Сохранение идентификатора сеанса
    • 486 Реализация простых сеансов
      • 486 Запуск сеанса
      • 487 Регистрация переменных сеанса
      • 487 Использование переменных сеанса
      • 487 Разрегистрация переменных и уничтожение сеанса
    • 488 Пример простого сеанса
    • 489 Конфигурирование управления сеансами
    • 490 Реализация аутентификации средствами управления сеансами
    • 495 Дополнительные источники информации
    • 495 Что дальше
  • 496 Глава 24. Другие полезные возможности
    • 496 Выполнение команд, содержащихся в строке, с помощью функции eval()
    • 497 Прекращение выполнения с помощью die и exit
    • 497 Сериализация переменных и объектов
    • 498 Получение информации о среде PHP
      • 498 Определение загруженных расширений
      • 499 Определение владельца сценария
      • 499 Определение даты последнего изменения сценария
    • 500 Временное изменение среды выполнения
    • 501 Выделение цветом элементов исходного кода
    • 501 Использование PHP в командной строке
    • 502 Что дальше
  • 503 Часть V. Реальные проекты на PHP и MySQL
  • 504 Глава 25. Использование PHP и MySQL в крупных проектах
    • 505 Применение методов проектирования программного обеспечения при разработке Web-приложений
    • 505 Планирование и сопровождение проекта Web-приложения
    • 506 Многократное использование кода
    • 507 Написание удобного в сопровождении кода
      • 507 Стандарты написания кода
    • 511 Управление версиями
    • 513 Выбор среды разработки
    • 513 Документирование проектов
    • 514 Создание прототипов
    • 515 Разделение логики и содержимого
    • 516 Оптимизация кода
      • 516 Использование простой оптимизации
      • 516 Использование продуктов Zend
    • 517 Тестирование
    • 518 Дополнительные источники информации
    • 518 Что дальше
  • 519 Глава 26. Отладка
    • 519 Программные ошибки
      • 519 Синтаксические ошибки
      • 521 Ошибки времени выполнения
      • 526 Логические ошибки
    • 527 Вспомогательное средство отладки переменных
    • 529 Уровни выдачи сообщений об ошибках
    • 530 Изменение настроек уровня сообщения об ошибках
    • 532 Генерация собственных ошибок
    • 532 Изящная обработка ошибок
    • 535 Что дальше
  • 536 Глава 27. Реализация задачи аутентификации и персонализации посетителей
    • 536 Компоненты решения
      • 537 Идентификация и персонализация пользователей
      • 538 Хранение закладок
      • 538 Рекомендация закладок
    • 538 Обзор решения
    • 540 Реализация базы данных
    • 541 Реализация базового варианта сайта
    • 543 Реализация аутентификации пользователей
      • 543 Регистрация пользователей
      • 549 Вход в систему
      • 552 Выход из системы
      • 553 Смена пароля
      • 555 Переустановка забытых паролей
    • 559 Реализация хранения и извлечения закладок
      • 559 Добавление закладок
      • 561 Отображение закладок
      • 562 Удаление закладок
    • 564 Выработка рекомендаций
    • 567 Возможные расширения
    • 567 Что дальше
  • 568 Глава 28. Разработка покупательской тележки
    • 568 Компоненты решения
      • 569 Построение онлайнового каталога
      • 569 Отслеживание выбираемого товара
      • 570 Реализация платежной системы
      • 570 Разработка интерфейса администрирования
    • 571 Обзор решения
    • 574 Создание базы данных
    • 576 Реализация онлайнового каталога
      • 578 Вывод списка категорий
      • 580 Вывод списка книг, относящихся к заданной категории
      • 581 Вывод информации о конкретной книге
    • 583 Реализация покупательской тележки
      • 583 Использование сценария show_cart.php
      • 586 Вывод содержимого тележки
      • 588 Добавление элементов в тележку
      • 589 Сохранение изменений содержимого тележки
      • 590 Печать итоговых данных в строке заголовка
      • 591 Выполнение окончательного расчета
    • 596 Реализация платежа
    • 598 Реализация интерфейса администрирования
    • 605 Расширение проекта
    • 606 Использование существующей системы
    • 606 Что дальше
  • 607 Глава 29. Разработка службы веб-почты
    • 607 Компоненты решения
      • 607 Почтовые протоколы: POP3 и IMAP
      • 608 Поддержка POP3 и IMAP в PHP
    • 609 Обзор решения
    • 611 Создание базы данных
    • 612 Архитектура сценария
    • 617 Вход и выход из системы
    • 620 Настройка учетных записей
      • 622 Создание новой учетной записи
      • 623 Изменение существующей учетной записи
      • 623 Удаление учетной записи
    • 624 Чтение почтовых сообщений
      • 624 Выбор учетной записи
      • 626 Просмотр содержимого почтового ящика
      • 629 Чтение почтовых сообщений
      • 631 Просмотр заголовков сообщений
      • 632 Удаление почтовых сообщений
    • 633 Отправка почты
      • 633 Отправка нового сообщения
      • 635 Ответ или переадресация сообщения
    • 636 Расширение проекта
    • 637 Что дальше
  • 638 Глава 30. Разработка диспетчера списков рассылки
    • 639 Компоненты решения
      • 639 Создание базы данных списков и подписчиков
      • 640 Загрузка файлов
      • 640 Отправка сообщений электронной почты с вложениями
    • 641 Обзор решения
    • 643 Создание базы данных
    • 645 Архитектура сценария
    • 652 Реализация процедуры входа в систему
      • 652 Создание новой учетной записи
      • 655 Вход в систему
    • 657 Реализация функций пользователя
      • 658 Просмотр списков рассылки
      • 662 Просмотр сведений о списке рассылки
      • 664 Просмотр архивов списков рассылки
      • 665 Подписка и отмена подписки
      • 666 Изменение параметров настройки учетной записи
      • 667 Изменение пароля
      • 668 Выход из системы
    • 669 Реализация функций администратора
      • 669 Создание нового списка рассылки
      • 671 Загрузка нового информационного бюллетеня
      • 674 Обработка загрузки нескольких файлов
      • 678 Предварительный просмотр информационного бюллетеня
      • 679 Отправка сообщения
    • 684 Расширение проекта
    • 685 Что дальше
  • 686 Глава 31. Разработка веб-форумов
    • 686 Процесс создания
    • 687 Компоненты решения
    • 688 Обзор решения
    • 689 Создание базы данных
    • 692 Просмотр дерева статей
      • 694 Разворачивание и сворачивание
      • 697 Отображение статей
      • 698 Использование класса treenode
    • 703 Просмотр отдельных статей
    • 705 Добавление новых статей
    • 712 Расширение проекта
    • 712 Использование существующих систем
    • 712 Что дальше
  • 713 Глава 32. Генерация персонифицированных PDF-документов
    • 713 Обзор проекта
    • 714 Оценка форматов документов
      • 714 Бумажная копия
      • 715 ASCII-формат
      • 715 HTML-формат
      • 715 Форматы текстовых процессоров
      • 716 Расширенный текстовый формат
      • 717 PostScript-формат
      • 718 PDF-формат
    • 718 Компоненты решения
      • 719 Система вопросов и ответов
      • 719 Программное обеспечение для генерации документов
      • 719 Программное обеспечение для создания шаблона RTF-документов
      • 719 Программное обеспечение для создания шаблона PDF-документов
      • 721 Программное обеспечение для создания PDF-документов с помощью кода
    • 722 Обзор решения
      • 723 Задание вопросов
      • 724 Оценка ответов
      • 726 Генерация RTF-сертификата
      • 730 Генерация PDF-сертификата из шаблона
      • 733 Генерация PDF-документа с использованием библиотеки PDFlib
      • 733 Простейший сценарий для PDFlib
      • 737 Генерация сертификата с помощью PDFlib
    • 744 Решение проблем, связанных с заголовками
    • 744 Расширение проекта
    • 744 Что дальше
  • 745 Глава 33. Подключение к веб-службам с помощью XML и SOAP
    • 745 Обзор проекта: работа с XML и веб-службами
      • 746 Основы XML
      • 749 Основы веб-служб
    • 750 Компоненты решения
      • 751 Использование интерфейсов веб-служб Amazon
      • 752 Разбор XML: ответы REST
      • 752 Использование SOAP с PHP
      • 752 Кэширование
    • 752 Обзор решения
      • 757 Ядро приложения
      • 762 Отображение книг конкретной категории
      • 764 Извлечение класса AmazonResultSet
      • 771 Использование REST для выдачи запроса и извлечения результата
      • 777 Использование метода SOAP
      • 778 Кэширование данных запроса
      • 780 Построение покупательской тележки
      • 783 Оплата на сайте Amazon
    • 784 Инсталляция кода проекта
    • 785 Расширение проекта
    • 785 Дополнительные источники информации
  • 786 Глава 34. Создание приложений Web 2.0 с помощью Ajax
    • 787 Что такое Ajax?
      • 787 HTTP-запросы и ответы
    • 788 DHTML и XHTML
      • 789 Каскадные стилевые таблицы (CSS)
      • 790 Программирование на стороне клиента
      • 790 Программирование на стороне сервера
        • 791 XML и XLST
      • 791 Основы Ajax
        • 791 Объект XMLHTTPRequest
        • 793 Коммуникации с сервером
        • 794 Работа с ответом сервера
        • 796 Сборка
      • 798 Добавление элементов Ajax в созданные ранее проекты
        • 799 Добавление элементов Ajax в приложение PHPBookmark
      • 810 Дополнительные источники информации
        • 810 Дополнительная информация по объектной модели документов (DOM)
        • 811 JavaScript-библиотеки для Ajax-приложений
        • 811 Веб-сайты разработчиков на Ajax
  • 813 Часть VI. Приложения
  • 814 Приложение А. Инсталляция PHP и MySQL
    • 815 Инсталляция Apache, PHP и MySQL на Unix-машине
      • 815 Инсталляция бинарных файлов
      • 816 Инсталляция исходных кодов
      • 822 Фрагменты файла httpd.conf
      • 823 Работает ли поддержка PHP?
      • 824 Работает ли SSL?
    • 825 Инсталляция Apache, PHP и MySQL на Windows-машине
      • 826 Инсталляция MySQL под Windows
      • 827 Инсталляция Apache под Windows
      • 829 Инсталляция PHP под Windows
    • 831 Инсталляция PEAR
    • 832 Настройка других конфигураций
  • 833 Приложение Б. Ресурсы в Интернете
    • 833 Ресурсы, посвященные PHP
    • 835 Ресурсы, посвященные MySQL и SQL
    • 836 Ресурсы, посвященные Apache
    • 836 Разработка веб-приложений
  • 837 Предметный указатель

Инструкция как скачать книгу Люк Веллинг, Лора Томсон: Разработка веб-приложений с помощью PHP и MySQL в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Разработка веб-приложений с помощью PHP и MySQL
Рейтинг книги:
2 голоса
969

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: