PHP 5/6 и MySQL 6. Разработка Web-приложений (+ CD-ROM)

Д.Н. Колисниченко

Даны начала программирования на PHP: установка и настройка PHP и MySQL, выбор редактора PHP-кода, основы синтаксиса и самые полезные функции PHP. Рассмотрено создание дополнительных модулей - фотогалереи, RSS-граббера, гостевой книги, собственного шаблонизатора, применение шаблонизатора Smarty, работа с SMTP, POP, MP3 и сервисом reCAPTCHA. В качестве хранилища данных использованы два сервера - самая современная версия MySQL 6 и «суперлегкий» сервер баз данных SQLite. Показано, как с помощью технологии Ajax добиться обновления данных на странице без ее перезагрузки. Представлены два реальных проекта: универсальная CMS и система продажи недвижимости. В третьем издании подробно рассмотрена программа phpMyAdmin, интеграция PHP-сценариев и Flash-приложений, оптимизация PHP-кода, добавлен новый материал в 12 глав.

Прилагаемый компакт-диск содержит дополнительные главы, все листинги из книги, а также необходимое программное обеспечение.

Издательство: БХВ-Петербург, 3-е издание, 2011 г.

ISBN 978-5-9775-0704-2

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

Содержание книги «PHP 5/6 и MySQL 6. Разработка Web-приложений (+ CD-ROM)»:

  • 1 Введение
  • 1 Что нового в 3-м издании
    • 2 Немного истории
    • 3 PHP 6
    • 4 MySQL
  • 4 Поддержка читателей
  • 5 ЧАСТЬ I. ТЕОРИЯ
  • 7 РАЗДЕЛ 1. БЫСТРЫЙ СТАРТ
  • 9 Глава 1. Установка необходимого программного обеспечения
    • 9 1.1. Нужно ли устанавливать программное обеспечение
    • 10 1.2. Выбор PHP-редактора и FTP-клиента
    • 13 1.3. Установка Apache + PHP + MySQL в Windows
    • 20 1.4. Установка Apache + PHP + MySQL в Linux
    • 21 1.5. Несколько советов
  • 22 Глава 2. Первая PHP-программа
    • 22 2.1. Ваша первая программа
    • 23 2.2. Запуск PHP-программы
    • 24 2.3. Вывод текста без echo
    • 25 2.4. Совместимость с PHP 4
  • 27 Глава 3. Основы синтаксиса PHP
    • 27 3.1. Переменные
      • 27 3.1.1. Правила объявления переменных. Имена переменных
      • 28 3.1.2. Типы данных переменных
      • 29 3.1.3. Булевы переменные
      • 30 3.1.4. Операции над переменными
      • 31 3.1.5. Ссылки
    • 32 3.2. Константы
    • 33 3.3. Выражения и операции
      • 33 3.3.1. Что такое выражение
      • 33 3.3.2. Арифметические операции
      • 34 3.3.3. Логические выражения
      • 34 3.3.4. Приоритеты операций
      • 35 3.3.5. Операторы эквивалентности == и ===
      • 36 3.3.6. Операции со строками
    • 37 3.4. Условный оператор
    • 38 3.5. Циклы
      • 38 3.5.1. Цикл со счетчиком
      • 38 3.5.2. Цикл while
      • 39 3.5.3. Цикл do-while
      • 39 3.5.4. Принудительное завершение цикла и пропуск итерации
    • 40 3.6. Оператор выбора switch-case
  • 43 РАЗДЕЛ 2. ПЕРЕДАЧА ПАРАМЕТРОВ PHP-ПРОГРАММАМ
  • 45 Глава 4. Методы GET и POST
    • 45 4.1. Интерфейс CGI
    • 47 4.2. Метод GET
    • 47 4.3. Метод POST
  • 49 Глава 5. Протокол HTTP и интерфейс CGI
    • 49 5.1. Специальные переменные окружения CGI
    • 50 5.2. Заголовки протокола HTTP
    • 51 5.3. Коды ответов протокола HTTP
  • 53 Глава 6. Передача параметров посредством HTML-формы
    • 53 6.1. Создание простейшей формы и ее обработка в сценарии
    • 56 6.2. Создание пользовательского интерфейса с помощью формы
      • 57 6.2.1. Ввод текста. Теги INPUT и TEXTAREA
      • 58 6.2.2. Зависимые и независимые переключатели
      • 59 6.2.3. Списки выбора
      • 61 6.2.4. Форма для передачи файлов
      • 61 6.2.5. Кнопки
    • 62 6.3. Проверка параметров формы
      • 63 6.3.1. Проверка корректности e-mail
      • 64 6.3.2. Проверка правильности номера кредитной карты
      • 65 6.3.3. Удаление лишних пробелов
    • 65 6.4. Защита от спама с помощью CAPTCHA
    • 68 6.5. Форма поиска в Яндексе
  • 69 Глава 7. Запоминание параметров с помощью Cookies и сессий
    • 69 7.1. Что такое Cookies и как с ними работать
    • 71 7.2. Механизм сессий
      • 71 7.2.1. Сессии и Cookies: преимущества и недостатки
      • 71 7.2.2. Для чего нужны сессии
      • 73 7.2.3. Как работает механизм сессий
      • 74 7.2.4. Обход Cookies
    • 75 7.3. Массивы и Cookies
  • 76 Глава 8. Отдельное слово о директиве register_globals
    • 76 8.1. Почему опасно использовать register_globals
    • 80 8.2. Если register_globals отключена
    • 82 8.3. PHP 6 и register_globals
  • 83 РАЗДЕЛ 3. МАССИВЫ И СПИСКИ
  • 85 Глава 9. Основные операции над массивами и списками
    • 85 9.1. Массив и список. Цикл foreach
    • 87 9.2. Функции list() и array()
    • 88 9.3. Удаление массива
    • 88 9.4. Слияние массивов
    • 90 9.5. Функция print_r()
  • 92 Глава 10. Функции сортировки массивов
    • 92 10.1. Функции для сортировки массивов
    • 92 10.2. Функция sort() – сортировка списка
    • 93 10.3. Функция asort() – сортировка массива по значениям
    • 94 10.4. Функция ksort() – сортировка по ключам
    • 95 10.5. Функции array_reverse() и shuffle()
    • 95 10.6. Собственная функция сортировки
    • 96 10.7. Натуральная сортировка
  • 98 Глава 11. Особые операции над массивами
    • 98 11.1. Добавление и удаление элементов массива
    • 99 11.2. Упаковка переменных в массив и их извлечение
    • 101 11.3. Получение части массива
    • 101 11.4. Функции автоматического заполнения массива
    • 102 11.5. Сравнение массивов
    • 103 11.6. Полезные операции над массивом
      • 103 11.6.1. Вычисление суммы и произведения всех элементов массива
      • 103 11.6.2. Проверка существования элемента в массиве
      • 104 11.6.3. Получение случайного элемента из массива
      • 104 11.6.4. Удаление дубликатов из массива
      • 105 11.6.5. Получение значений и ключей массива
      • 105 11.6.6. Замена местами значений и ключей
      • 105 11.6.7. Подсчет значений в массиве
      • 106 11.6.8. Замена в массиве
      • 106 11.6.9. Поиск в массиве
      • 107 11.6.10. Прогулка по массиву
  • 109 РАЗДЕЛ 4. ФУНКЦИИ В PHP
  • 111 Глава 12. Полезные стандартные функции
    • 111 12.1. Генератор случайных чисел
    • 112 12.2. Дата и время
      • 112 12.2.1. Кратко о timestamp
      • 112 12.2.2. Функции strtotime() и checkdate()
      • 113 12.2.3. Вывод даты
    • 115 12.3. Математические функции
  • 116 Глава 13. Функции для работы со строками
    • 116 13.1. Основные строковые функции
    • 119 13.2. Специальные функции замены
    • 120 13.3. Преобразование строки
    • 122 13.4. Функции преобразования кодировок
    • 122 13.5. Функции для работы с отдельными символами строки
    • 123 13.6. Функция md5() и другие функции шифрования/хэширования
    • 124 13.7. Функция explode(): выделение подстрок
    • 124 13.8. Статистические функции
    • 125 13.9. Функции вывода текста
    • 127 13.10. Установка локали
    • 128 13.11. Форматирование чисел и денежных величин
  • 129 Глава 14. Работаем с файлами и каталогами
    • 129 14.1. Права доступа в UNIX
    • 131 14.2. Чтение файла
      • 132 14.2.1. Использование функций fopen() и fread()
      • 134 14.2.2. Использование функции file(): построчное чтение файла
      • 135 14.2.3. Чтение всего файла: функция file_get_contents()
    • 135 14.3. Запись файла
    • 136 14.4. Создание временных файлов
    • 136 14.5. Работа с CSV-файлами
    • 139 14.6. Специальные функции для работы с файлами
      • 139 14.6.1. Функции для работы с именами файлов
      • 139 14.6.2. Работа с правами доступа
      • 140 14.6.3. Копирование, переименование и удаление файлов
      • 141 14.6.4. Время доступа к файлу
      • 142 14.6.5. Другие полезные функции
    • 142 14.7. Совместный доступ к файлу
    • 143 14.8. Функции для работы с каталогами
  • 145 Глава 15. Вывод графических изображений средствами PHP
    • 145 15.1. Библиотека GD
      • 145 15.1.1. Получение информации об изображении
      • 148 15.1.2. Конвертирование графических форматов
      • 150 15.1.3. Вывод текста поверх картинки
      • 153 15.1.4. Прозрачность
    • 153 15.2. Изменение размера изображения
    • 155 15.3. Создание водяных знаков
  • 157 Глава 16. Работа с сетевыми сокетами в PHP. Сетевые функции
    • 157 16.1. Еще раз о том, что такое сокет
    • 157 16.2. Использование сокетов
    • 158 16.3. Пример использования сокетов
    • 161 16.4. Блокирующий и неблокирующий режимы сокета
    • 162 16.5. DNS-функции
  • 163 Глава 17. Собственные функции
    • 163 17.1. Зачем нужны собственные функции
    • 163 17.2. Особенности функций в PHP
    • 164 17.3. Объявление функции
    • 165 17.4. Области видимости функции
    • 165 17.5. Вложенность функций
    • 167 17.6. Переменное число аргументов
    • 168 17.7. Передача массивов в качестве параметров
  • 169 РАЗДЕЛ 5. СЕРВЕРЫ БАЗ ДАННЫХ MYSQL 6 И SQLITE
  • 171 Глава 18. Основы SQL
    • 171 18.1. Немного истории
    • 171 18.2. Преимущества SQL
    • 172 18.3. Как выглядят запросы
    • 173 18.4. Что такое база данных
    • 174 18.5. Создание таблиц
    • 177 18.6. Добавление записей в таблицу
    • 178 18.7. Обновление записей
    • 179 18.8. Выборка записей
    • 180 18.9. Удаление записей
    • 181 18.10. Встроенные функции
    • 181 18.11. Группировка записей. Сложные запросы
  • 185 Глава 19. Функции для работы с MySQL
    • 185 19.1. Подключение к серверу MySQL
    • 187 19.2. Несколько MySQL-соединений
    • 188 19.3. Передача запросов серверу
    • 191 19.4. Работа с базой данных. Создание базы данных
    • 192 19.5. Функция mysql_real_escape_string($content)
  • 193 Глава 20. Альтернативная база данных SQLite
    • 193 20.1. MySQL vs SQLite: что лучше
    • 195 20.2. Открытие базы данных
    • 195 20.3. Передача запросов
    • 196 20.4. Работа с результатом запроса
    • 197 20.5. Список PHP-функций для работы с SQLite
  • 199 Глава 21. Полезные приемы при работе с MySQL 6
    • 199 21.1. Выбор кодировки
    • 200 21.2. Сортировка: вывод новинок. Вывод случайных записей
    • 201 21.3. Постраничный вывод таблицы
  • 207 РАЗДЕЛ 6. ИНСТРУМЕНТЫ ДЛЯ СОЗДАНИЯ СЛОЖНЫХ ПРОЕКТОВ
  • 209 Глава 22. Разработка собственного шаблонизатора
    • 209 22.1. Организация файлов и каталогов проекта
    • 212 22.2. Выносим параметры в отдельный файл
    • 213 22.3. Подключение дополнительных файлов
      • 213 22.3.1. Инструкции include и require
      • 213 22.3.2. Альтернативный способ подключения сценариев
      • 215 22.3.3. Инструкции include_once и require_once
    • 215 22.4. Шаблоны
  • 219 Глава 23. Шаблонизатор Smarty
    • 219 23.1. Что такое Smarty
    • 219 23.2. Установка Smarty
    • 222 23.3. Создание setup.php
    • 223 23.4. Разработка шаблонов Smarty
      • 223 23.4.1. Комментарии в шаблонах
      • 224 23.4.2. Переменные в Smarty
      • 225 23.4.3. Файлы конфигурации шаблонов
      • 226 23.4.4. Служебная переменная {$smarty}
      • 227 23.4.5. Модификаторы переменных
      • 230 23.4.6. Стандартные (встроенные) функции Smarty
        • 230 Функции {include} и {insert}
        • 230 Функция {foreach}
        • 232 Функции {if}, {elseif}, {else}
        • 233 Функция {capture}
        • 233 Функция {php}
        • 233 Функция {strip}
      • 234 23.4.7. Пользовательские функции Smarty
        • 234 Функция {assign}
        • 234 Функция {cycle}
        • 235 Функция {fetch}
        • 235 Функции {html_checkboxes} и {html_radios}
        • 236 Функция {html_image}
        • 236 Функция {html_select_date}
        • 237 Функция {html_select_time}
        • 238 Функция {html_table}
    • 239 23.5. Smarty для программиста
      • 239 23.5.1. Специальные переменные
      • 241 23.5.2. Полезные методы класса Smarty
  • 242 Глава 24. Объектно-ориентированное программирование
    • 242 24.1. Основы ООП
    • 243 24.2. Классы и объекты
    • 245 24.3. Конструкторы и деструкторы класса
    • 246 24.4. Наследование классов. Полиморфизм
    • 247 24.5. Новые возможности PHP 5/6
      • 247 24.5.1. Область видимости членов класса
      • 248 24.5.2. Абстрактные классы и методы
      • 248 24.5.3. Служебное слово final
      • 249 24.5.4. Клонирование объектов
      • 250 24.5.5. Обработка исключительных ситуаций
      • 251 24.5.6. Константы-члены класса
      • 251 24.5.7. Статические члены класса
      • 252 24.5.8. Оператор instanceof
      • 252 24.5.9. Итераторы
      • 252 24.5.10. Пространства имен
  • 254 Глава 25. Механизм сессий
    • 254 25.1. Для чего нужны сессии
    • 255 25.2. Как работает механизм сессий
    • 257 25.3. Обход Cookies
    • 257 25.4. Сценарий аутентификации
  • 262 Глава 26. Введение в PEAR
    • 262 26.1. Серьезные проекты и PEAR
    • 263 26.2. Пример использования класса DB
  • 267 Глава 27. Контроль версий
    • 267 27.1. Выбор системы контроля версий
    • 268 27.2. Практическое использование TortoiseHG (Mercurial)
    • 269 27.3. Просмотр внесенных изменений
  • 273 Глава 28. Тестирование PHP-сценариев
    • 273 28.1. Программа работает, но не так, как нам нужно
    • 274 28.2. «Самодельные» точки останова
    • 275 28.3. Система автоматического тестирования
    • 279 28.4. Директива error_reporting
  • 281 ЧАСТЬ II. ПРАКТИКА
  • 283 РАЗДЕЛ 7. РАЗРАБОТКА ОСНОВНЫХ ЭЛЕМЕНТОВ САЙТА
  • 285 Глава 29. Загрузка файлов на сервер
    • 285 29.1. Что нужно знать о загрузке файлов на сервер
    • 288 29.2. Реализация загрузки файла
    • 290 29.3. Загрузка нескольких файлов
    • 292 29.4. Проблемы при загрузке файлов
  • 293 Глава 30. Использование FTP-функций
    • 293 30.1. Функции для работы с FTP
    • 296 30.2. Примеры использования FTP-функций
  • 299 Глава 31. Отправка и прием почты
    • 299 31.1. Отправка почты средствами PHP – функция mail()
    • 300 31.2. Отправка писем с вложениями – класс HtmlMimeMail
      • 300 31.2.1. Отправка сообщения
      • 304 31.2.2. Проблемы при отправке сообщения
      • 305 31.2.3. MIME-типы
    • 306 31.3. Класс PHPMailer. Разработка сценария автоматической рассылки прайс-листа
    • 310 31.4. Получение писем по протоколу POP3
  • 314 Глава 32. Работа с RSS: получаем новости на сайт
    • 314 32.1. Краткие сведения о RSS
    • 314 32.2. Формат RSS-файла
    • 317 32.3. Написание сценария импорта новостей
    • 319 32.4. Подключение файла import.php к сайту
    • 320 32.5. Создание граббера новостей
  • 324 Глава 33. Поиск с использованием регулярных выражений
    • 324 33.1. Нужно что-то найти
    • 325 33.2. Язык регулярных выражений RegEx
    • 327 33.3. Управляющие конструкции
      • 327 33.3.1. Квантификаторы
      • 327 33.3.2. Альтернативный оператор
      • 327 33.3.3. Скобки
    • 328 33.4. Псевдосимволы
    • 328 33.5. Практическое использование RegEx-функций
    • 332 33.6. Фильтры, или Конец эры регулярных выражений
  • 334 Глава 34. Работаем с MP3
    • 334 34.1. Формат MP3
    • 335 34.2. Библиотека PEAR
    • 336 34.3. Вывод ID3-тегов
    • 337 34.4. Редактирование ID3-тегов
    • 338 34.5. Удаление тега
  • 339 Глава 35. Технология Ajax
    • 339 35.1. Что такое Ajax
    • 340 35.2. Ваше первое Ajax-приложение
  • 345 РАЗДЕЛ 8. РАЗРАБОТКА ТИПИЧНОГО САЙТА
  • 347 Глава 36. Создание простейшего движка сайта
    • 347 36.1. Планирование движка
      • 347 36.1.1. Зачем нужно разрабатывать собственный движок
      • 348 36.1.2. Необходимые нам функции движка
      • 350 36.1.3. «Принципиальная схема» движка
    • 351 36.2. Основные функции движка
      • 351 36.2.1. Разработка TPL-шаблона
      • 352 36.2.2. Файл настроек
      • 353 36.2.3. Основной файл CMS – index.php
      • 355 36.2.4. Проектирование базы данных
        • 355 Таблица static
        • 356 Таблица cats
        • 357 Таблица pages
      • 358 36.2.5. Иерархическая структура сайта
        • 358 Алгоритм работы меню
        • 360 Сценарий menu.php
        • 365 Вывод содержимого раздела и страницы
    • 369 36.3. Дополнительные функции движка
      • 369 36.3.1. Вывод информации из таблицы static
      • 370 36.3.2. Функция вывода содержимого HTML-файла
      • 371 36.3.3. Версия для печати
    • 372 36.4. Где взять листинги этой главы
  • 373 Глава 37. Создание фотогалереи
    • 373 37.1. Постановка задачи
    • 373 37.2. Загрузка изображений на сервер
    • 377 37.3. Вывод галереи
  • 380 Глава 38. Гостевая книга
    • 380 38.1. Пережиток прошлого?
    • 381 38.2. Разработка базы данных и структура гостевой книги
    • 381 38.3. Вывод гостевой книги
    • 384 38.4. Добавление записей в гостевую книгу
    • 387 38.5. Сервисный сценарий gb_service.php
  • 389 Глава 39. Интеграция галереи LiveJournal и вашего сайта
    • 389 39.1. Что такое Живой журнал
    • 390 39.2. Интеграция фотогалереи LiveJournal и сайта
    • 394 39.3. Настройка внешнего вида галереи
  • 396 Глава 40. Создание счетчика сайта
    • 396 40.1. Постановка задачи
    • 396 40.2. Файл конфигурации
    • 397 40.3. Разработка таблиц counter и ipaddr
    • 398 40.4. Сценарий counter.php
    • 402 40.5. Сценарий reset_counter.php
  • 404 Глава 41. Статистика сайта
    • 404 41.1. Методы сбора статистики
    • 405 41.2. Программы-анализаторы журналов Web-сервера
    • 407 41.3. Системы статистики
  • 410 Глава 42. Голосования (опросы)
    • 410 42.1. Разработка собственной системы голосования
    • 412 42.2. Разработка сценария poll_form.php
    • 413 42.3. Сценарий poll_process.php
    • 414 42.4. Сценарий poll_results.php
  • 419 РАЗДЕЛ 9. СЛОЖНЫЙ ПРОЕКТ: САЙТ ПО ПРОДАЖЕ НЕДВИЖИМОСТИ
  • 421 Глава 43. Постановка задачи
    • 421 43.1. Функции будущего проекта
    • 422 43.2. Разработка базы данных
  • 431 Глава 44. Разработка основной части сайта
    • 431 44.1. С чего начать
    • 432 44.2. Реализация основных функций системы
      • 432 44.2.1. Аутентификация пользователей
      • 435 44.2.2. Вывод VIP-объявлений
      • 437 44.2.3. Вывод объявлений об услугах
      • 438 44.2.4. Вывод рекламных баннеров
      • 438 44.2.5. Постраничный вывод объявлений
    • 441 44.3. На что обратить внимание
  • 447 Глава 45. Разработка панели администрирования
    • 447 45.1. Функции панели управления
    • 448 45.2. Управление VIP-объявлениями
    • 449 45.3. Массовая отправка электронного сообщения
    • 450 45.4. Общие операции с базой данных
    • 450 45.5. Редактирование статей, новостей и контактов
  • 451 РАЗДЕЛ 10. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ САЙТА
  • 453 Глава 46. SSL-соединения
    • 453 46.1. Защищаем передаваемые данные
    • 454 46.2. Настройка SSL в DirectAdmin
    • 456 46.3. SSL-переменные
  • 458 Глава 47. Защита PHP с помощью конфигурационного файла
    • 458 47.1. Конфигурационный файл php.ini
    • 460 47.2. Отключение потенциально опасных функций
    • 460 47.3. Рекомендованные значения некоторых конфигурационных директив
  • 461 Глава 48. Защита сайта от атак
    • 461 48.1. Сайт в опасности
    • 462 48.2. Два самых распространенных метода взлома
    • 462 48.3. Межсайтовый скриптинг
    • 464 48.4. SQL-инъекции
    • 468 48.5. Флуд
    • 469 48.6. Защита форума PHPBB2 от спаммеров
  • 471 ПРИЛОЖЕНИЯ
  • 473 Приложение 1. Программа phpMyAdmin
    • 474 Действия над таблицами
    • 476 Создание новой таблицы. Изменение структуры таблицы
    • 477 Вставка записей
    • 477 Обзор таблицы
    • 477 Выполнение произвольного SQL-кода
    • 479 Резервное копирование БД
  • 480 Приложение 2. Flash и PHP
  • 484 Приложение 3. Оптимизация PHP-кода
    • 484 П3.1. Правильное использование echo
    • 485 П3.2. Длина переменных
    • 485 П3.3. Правильное обращение к элементам массива
    • 486 П3.4. Циклы
    • 487 П3.5. Чтение файлов
    • 489 П3.6. Вывод текста: echo против printf
    • 491 П3.7. «Лишние» вызовы функций
    • 492 П3.8. Контрольные замеры
      • 492 П3.8.1. Чтение файла
      • 493 П3.8.2. Вывод содержимого файла
    • 495 П3.9. Выводы
  • 496 Приложение 4. Описание компакт-диска
  • 499 Предметный указатель

Инструкция как скачать книгу Д.Н. Колисниченко: PHP 5/6 и MySQL 6. Разработка Web-приложений (+ CD-ROM) в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
PHP 5/6 и MySQL 6. Разработка Web-приложений (+ CD-ROM)
Рейтинг книги:
2 голоса
997

Поиск книг:




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

Статистика: