Информация о книге

978-5-9775-3514-4

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

Колисниченко Д.Н., PHP и MySQL. Разработка веб-приложений


серия: Профессиональное программирование
BHV, 2015 г., 978-5-9775-3514-4


Описание книги

Даны начала программирования на PHP: установка и настройка Apache, PHP и MySQL, а также кроссплатформенной сборки XAMPP, выбор редактора PHP-кода, синтаксис языка и самые полезные функции PHP. Рассмотрено создание собственного движка сайта и ряда дополнительных модулей - фотогалереи, RSS-граббера, модуля для работы с MP3, сервиса reCAPTCHA, а также применение мощного шаблонизатора Smarty и создание простейшего собственного шаблонизатора. Показано, как с помощью технологии Ajax добиться обновления данных на странице без ее перезагрузки. В книге представлено два реальных проекта: универсальная система управления контентом, которая подойдет для построения типичного сайта, и одного из реальных проектов автора. В пятом издании рассмотрены нововведения версии 5.5 (генераторы, новые ключевые слова, Password Hashing API и др.), а также особенности создания индикатора загрузки файла и разыменовывания массивов. На сайте издательства находятся дополнительные главы, все листинги из книги, а также необходимое программное обеспечение. 5-е издание.

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

Предисловие
Что нового в 5-м издании?
Немного истории
PHP 5.5, или что случилось с PHP 6?
Основные нововведения в PHP версии 5.4
Типажи
Разыменовывание массива
Встроенный веб-сервер
Индикатор загрузки файла
Основные нововведения в PHP версии 5.5
Генераторы
Ключевые слова finally и class
API хэширования паролей
Разыменовывание строк
Изменения в работе конструкции foreach
Поддержка графического формата WebP
Исключенные возможности
MySQL
Поддержка читателей
Часть I. Теория
Раздел 1. Быстрый старт
Глава 1. Установка необходимого программного
обеспечения
1.1. Нужно ли устанавливать программное
обеспечение?
1.2. Выбор PHP-редактора и FTP-клиента
1.3. Установка связки Apache + PHP + MySQL в
Windows
1.3.1. Для опытных пользователей: установка
вручную
1.3.2. Установка для новичков (рекомендуется)
1.4. Установка Apache + PHP + MySQL в Linux
1.5. Конфликты с другим программным
обеспечением
1.6. Функция phpinfo(): получение информации о
PHP
1.7. Несколько советов
Глава 2. Программа на PHP
2.1. Ваша первая программа
2.2. Запуск PHP-программы
2.3. Вывод текста без echo
Глава 3. Основы синтаксиса PHP
3.1. Переменные
3.1.1. Правила объявления переменных. Имена
переменных
3.1.2. Типы данных переменных
3.1.3. Булевы переменные
3.1.4. Операции над переменными
3.1.5. Ссылки
3.2. Константы
3.3. Выражения и операции
3.3.1. Что такое выражение
3.3.2. Арифметические операции
3.3.3. Логические выражения
3.3.4. Приоритеты операций
3.3.5. Операторы эквивалентности == и ===
3.3.6. Операции со строками
3.4. Условный оператор
3.5. Циклы
3.5.1. Цикл со счетчиком for
3.5.2. Цикл while
3.5.3. Цикл do-while
3.5.4. Принудительное завершение цикла и
пропуск итерации
3.6. Оператор выбора switch-case
Раздел 2. Передача параметров PHP-программам
Глава 4. Методы GET и POST
4.1. Интерфейс CGI
4.2. Метод GET
4.3. Метод POST
Глава 5. Протокол HTTP и интерфейс CGI
5.1. Специальные переменные окружения CGI
5.2. Заголовки протокола HTTP
5.3. Коды ответов протокола HTTP
Глава 6. Передача параметров посредством
HTML-формы
6.1. Создание простейшей формы и ее обработка в
сценарии
6.2. Создание пользовательского интерфейса с
помощью формы
6.2.1. Ввод текста. Теги INPUT и TEXTAREA
6.2.2. Зависимые и независимые переключатели
6.2.3. Списки выбора
6.2.4. Форма для передачи файлов
6.2.5. Кнопки
6.3. Проверка параметров формы
6.3.1. Проверка корректности e-mail
6.3.2. Проверка правильности номера кредитной
карты
6.3.3. Удаление лишних пробелов
6.4. Защита от спама с помощью формы CAPTCHA
6.5. Форма поиска в Яндексе
Глава 7. Запоминание параметров с помощью
Cookies и сессий
7.1. Что такое Cookies и как с ними работать?
7.2. Механизм сессий
7.2.1. Сессии и Cookies: преимущества и
недостатки
7.2.2. Для чего нужны сессии?
7.2.3. Как работает механизм сессий?
7.2.4. Обход Cookies
7.3. Массивы и Cookies
Глава 8. Отдельное слово о директиве
register_globals
8.1. Почему опасно использовать register_globals?
8.2. Если register_globals отключена
Раздел 3. Массивы и списки
Глава 9. Основные операции над массивами и
списками
9.1. Массив и список. Цикл foreach
9.2. Функции list() и array()
9.3. Удаление массива
9.4. Слияние массивов
9.5. Функция print_r()
9.6. Разыменовывание массива
Глава 10. Функции сортировки массивов
10.1. Сортировка массивов
10.2. Функция sort() - сортировка списка
10.3. Функция asort() - сортировка массива по
значениям
10.4. Функция ksort() - сортировка по ключам
10.5. Функции array_reverse() и shuffle()
10.6. Собственная функция сортировки
10.7. Натуральная сортировка
Глава 11. Особые операции над массивами
11.1. Добавление и удаление элементов массива
11.2. Упаковка переменных в массив и их
извлечение
11.3. Получение части массива
11.4. Функции автоматического заполнения
массива
11.5. Сравнение массивов
11.6. Полезные операции над массивом
11.6.1. Вычисление суммы и произведения всех
элементов массива
11.6.2. Проверка существования элемента в
массиве
11.6.3. Получение случайного элемента из массива
11.6.4. Удаление дубликатов из массива
11.6.5. Получение значений и ключей массива
11.6.6. Замена местами значений и ключей
11.6.7. Подсчет значений в массиве
11.6.8. Замена в массиве
11.6.9. Поиск в массиве
11.6.10. Прогулка по массиву
Раздел 4. Функции в PHP
Глава 12. Полезные стандартные функции
12.1. Генератор случайных чисел
12.2. Дата и время
12.2.1. Кратко о timestamp
12.2.2. Функции strtotime() и checkdate()
12.2.3. Вывод даты
12.3. Математические функции
Глава 13. Функции для работы со строками
13.1. Основные строковые функции
13.2. Специальные функции замены
13.3. Преобразование строки
13.4. Функции преобразования кодировок
13.5. Функции для работы с отдельными
символами строки. Разыменовывание строки
13.6. Функция md5() и другие функции
шифрования/хэширования. API хэширования
паролей
13.7. Функция explode(): выделение подстрок
13.8. Статистические функции
13.9. Функции вывода текста
13.10. Установка локали
13.11. Форматирование чисел и денежных величин
13.12. Преобразование систем счисления
Глава 14. Работаем с файлами и каталогами
14.1. Права доступа в UNIX
14.2. Чтение файла
14.2.1. Функции fopen() и fread()
14.2.2. Функция file(): построчное чтение файла
14.2.3. Чтение всего файла: функция
file_get_contents()
14.3. Запись файла
14.4. Создание временных файлов
14.5. Работа с CSV-файлами
14.6. Специальные функции для работы с файлами
14.6.1. Функции для работы с именами файлов
14.6.2. Работа с правами доступа
14.6.3. Копирование, переименование и удаление
файлов
14.6.4. Время доступа к файлу
14.6.5. Другие полезные функции
14.7. Совместный доступ к файлу
14.8. Функции для работы с каталогами
Глава 15. Вывод графических изображений
средствами PHP
15.1. Библиотека GD
15.1.1. Получение информации об изображении
15.1.2. Конвертирование графических форматов
15.1.3. Вывод текста поверх картинки. Задание
цвета
15.1.4. Прозрачность
15.1.5. Рисование графических примитивов
15.1.6. Поворот изображения
15.2. Изменение размера изображения
15.3. Создание водяных знаков
15.4. Поддержка графического формата WebP в
PHP 5.5
Глава 16. Работа с сетевыми сокетами в PHP.
Сетевые функции
16.1. Еще раз о том, что такое сокет
16.2. Использование сокетов
16.3. Пример использования сокетов
16.4. Блокирующий и неблокирующий режимы
сокета
16.5. DNS-функции
Глава 17. Собственные функции
17.1. Зачем нужны собственные функции?
17.2. Особенности функций в PHP
17.3. Объявление функции
17.4. Области видимости функции
17.5. Вложенность функций
17.6. Переменное число аргументов
17.7. Передача массивов в качестве параметров
17.8. Генераторы
17.9. Особенности использования функции empty()
Раздел 5. Серверы баз данных MySQL 6 и SQLite
Глава 18. Основы SQL
18.1. Немного истории
18.2. Преимущества SQL
18.3. Как выглядят запросы?
18.4. Что такое база данных?
18.5. Создание таблиц
18.6. Добавление записей в таблицу
18.7. Обновление записей
18.8. Выборка записей
18.9. Удаление записей
18.10. Встроенные функции
18.11. Группировка записей. Сложные запросы
18.12. Копирование записей из одной таблицы в
другую
18.13. Кэширование запросов
Глава 19. Функции для работы с MySQL
19.1. Подключение к серверу MySQL
19.2. Несколько MySQL-соединений
19.3. Передача запросов серверу
19.4. Работа с базой данных. Создание базы
данных
19.5. Функция mysql_real_escape_string($content)
19.6. Получение информации о результате запроса
Глава 20. Альтернативная база данных SQLite
20.1. MySQL vs SQLite: что лучше?
20.2. Открытие базы данных
20.3. Передача запросов
20.4. Работа с результатом запроса
20.5. Список PHP-функций для работы с SQLite
Глава 21. Полезные приемы при работе с MySQL 6
21.1. Выбор кодировки
21.2. Сортировка: вывод новинок. Вывод
случайных записей
21.3. Постраничный вывод таблицы
Раздел 6. Инструменты для создания сложных
проектов
Глава 22. Разработка собственного
шаблонизатора
22.1. Организация файлов и каталогов проекта
22.2. Выносим параметры в отдельный файл
22.3. Подключение дополнительных файлов
22.3.1. Инструкции include и require
22.3.2. Альтернативный способ подключения
сценариев
22.3.3. Инструкции include_once и require_once
22.4. Шаблоны
Глава 23. Шаблонизатор Smarty
23.1. Что такое Smarty?
23.2. Установка Smarty
23.3. Создание файла setup.php
23.4. Разработка шаблонов Smarty
23.4.1. Комментарии в шаблонах
23.4.2. Переменные в Smarty
23.4.3. Файлы конфигурации шаблонов
23.4.4. Служебная переменная {$smarty}
23.4.5. Модификаторы переменных
23.4.6. Стандартные (встроенные) функции
Smarty
Функции {include} и {insert}
Функция {foreach}
Функции {if}, {elseif}, {else}
Функция {capture}
Функция {php}
Функция {strip}
23.4.7. Пользовательские функции Smarty
Функция {assign}
Функция {cycle}
Функция {fetch}
Функции {html_checkboxes} и {html_radios}
Функция {html_image}
Функция {html_select_date}
Функция {html_select_time}
Функция {html_table}
23.5. Smarty для программиста
23.5.1. Специальные переменные
23.5.2. Полезные методы класса Smarty
Глава 24. Объектно-ориентированное
программирование
24.1. Основы ООП
24.2. Классы и объекты
24.3. Конструкторы и деструкторы класса
24.4. Наследование классов. Полиморфизм
24.5. Новые возможности PHP 5 и 5.4/5.5
24.5.1. Область видимости членов класса
24.5.2. Абстрактные классы и методы
24.5.3. Служебное слово final
24.5.4. Клонирование объектов
24.5.5. Обработка исключительных ситуаций
24.5.6. Константы-члены класса
24.5.7. Статические члены класса
24.5.8. Оператор instanceof
24.5.9. Итераторы
24.5.10. Пространства имен
24.5.11. Типажи (traits)
24.5.12. Вызов метода или свойства класса
выражением
Глава 25. Механизм сессий
25.1. Для чего нужны сессии?
25.2. Как работает механизм сессий?
25.3. Обход Cookies
25.4. Сценарий аутентификации
Глава 26. Введение в PEAR
26.1. Серьезные проекты и PEAR
26.2. Пример использования класса DB
Глава 27. Контроль версий
27.1. Выбор системы контроля версий
27.2. Практическое использование TortoiseHG
(Mercurial)
27.3. Просмотр внесенных изменений
Глава 28. Тестирование PHP-сценариев
28.1. Программа работает, но не так, как нам
нужно
28.2. "Самодельные" точки останова
28.3. Система автоматического тестирования
28.4. Директива error_reporting
Часть II. Практика
Раздел 7. Разработка основных элементов сайта
Глава 29. Загрузка файлов на сервер
29.1. Что нужно знать о загрузке файлов на
сервер?
29.2. Реализация загрузки файла
29.3. Загрузка нескольких файлов
29.4. Индикатор загрузки файла на PHP 5.4/5.5
29.4.1. Некоторые теоретические предпосылки
29.4.2. Пример практической реализации
29.5. Проблемы при загрузке файлов
Глава 30. Использование FTP-функций
30.1. Функции для работы с FTP
30.2. Примеры использования FTP-функций
Глава 31. Отправка и прием почты
31.1. Отправка почты средствами PHP - функция
mail()
31.2. Отправка писем с вложениями - класс
HtmlMimeMail
31.2.1. Отправка сообщения
31.2.2. Проблемы при отправке сообщения
31.2.3. MIME-типы
31.3. Класс PHPMailer. Разработка сценария
автоматической рассылки прайс-листа
31.4. Получение писем по протоколу POP3
Глава 32. Работа с RSS: получаем новости на сайт
32.1. Краткие сведения о RSS
32.2. Формат RSS-файла
32.3. Написание сценария импорта новостей
32.4. Подключение файла import.php к сайту
32.5. Создание граббера новостей
Глава 33. Поиск с использованием регулярных
выражений
33.1. Нужно что-то найти...
33.2. Язык регулярных выражений RegExp
33.3. Управляющие конструкции
33.3.1. Квантификаторы
33.3.2. Альтернативный оператор |
33.3.3. Скобки
33.4. Псевдосимволы
33.5. Практическое использование
RegExp-функций
33.6. Фильтры, или Конец эры регулярных
выражений
Глава 34. Работаем с MP3
34.1. Формат MP3
34.2. Библиотека PEAR
34.3. Вывод ID3-тегов
34.4. Редактирование ID3-тегов
34.5. Удаление тега
Глава 35. Технология AJAX
35.1. Что такое AJAX?
35.2. Ваше первое AJAX-приложение
Раздел 8. Разработка типичного сайта
Глава 36. Создание простейшего движка сайта
36.1. Планирование движка
36.1.1. Зачем нужно разрабатывать собственный
движок?
36.1.2. Необходимые нам функции движка
36.1.3. Принципиальная схема движка
36.2. Основные функции движка
36.2.1. Разработка TPL-шаблона
36.2.2. Файл настроек
36.2.3. Основной файл CMS - index.php
36.2.4. Проектирование базы данных
Таблица static
Таблица cats
Таблица pages
36.2.5. Иерархическая структура сайта
Алгоритм работы меню
Сценарий menu.php
Вывод содержимого раздела и страницы
36.3. Дополнительные функции движка
36.3.1. Вывод информации из таблицы static
36.3.2. Функция вывода содержимого HTML-файла
36.3.3. Версия для печати
36.4. Где взять листинги этой главы?
Глава 37. Создание фотогалереи
37.1. Постановка задачи
37.2. Загрузка изображений на сервер
37.3. Вывод галереи
Глава 38. Гостевая книга
38.1. Пережиток прошлого?
38.2. Разработка базы данных и структура
гостевой книги
38.3. Вывод гостевой книги
38.4. Добавление записей в гостевую книгу
38.5. Сервисный сценарий gb_service.php
Глава 39. Импорт новостей с чужого сайта в базу
данных WordPress
39.1. Постановка задачи
39.2. Вспомогательные функции
39.3. Вкратце о cURL
39.4. Основной сценарий
Глава 40. Создание счетчика сайта
40.1. Постановка задачи
40.2. Файл конфигурации
40.3. Разработка таблиц counter и ipaddr
40.4. Сценарий counter.php
40.5. Сценарий reset_counter.php
Глава 41. Статистика сайта
41.1. Методы сбора статистики
41.2. Программы-анализаторы журналов
веб-сервера
41.3. Системы статистики
Глава 42. Голосования и комментарии для сайта
42.1. Разработка собственной системы
голосования
42.1.1. Общая структура системы
42.1.2. Разработка сценария poll_form.php
42.1.3. Сценарий poll_process.php
42.1.4. Сценарий poll_results.php
42.2. Комментарии DISQUS
42.2.1. Описание платформы
42.2.2. Установка комментариев на свой сайт
Раздел 9. Сложный проект
Глава 43. Постановка задачи
43.1. Концепция проекта
43.2. Алгоритм работы
43.3. Структура базы данных
Глава 44. Разработка основной части сайта
44.1. Структура проекта
44.2. Основной сценарий index.php
44.2.1. Подключение механизмов WordPress
44.2.2. Аутентификация пользователя
44.2.3. Форма добавления цели
44.2.4. Добавление цели
44.2.5. Просмотр всех целей
44.3. Сценарий v.php - просмотр цели
44.4. Сценарии отправки уведомлений. Сценарии
yes.php и no.php
Глава 45. Панель управления WordPress
45.1. О чем эта глава?
45.2. Вход в панель управления
45.3. Просмотр целей
45.4. Не забывайте о UTF-8
Раздел 10. Обеспечение безопасности сайта
Глава 46. SSL-соединения
46.1. Защищаем передаваемые данные
46.2. Настройка SSL в DirectAdmin
46.3. SSL-переменные
Глава 47. Защита PHP с помощью
конфигурационного файла
47.1. Конфигурационный файл php.ini
47.2. Отключение потенциально опасных функций
47.3. Рекомендованные значения некоторых
конфигурационных директив
Глава 48. Защита сайта от атак
48.1. Сайт в опасности
48.2. Два самых распространенных метода взлома
48.3. Межсайтовый скриптинг
48.4. SQL-инъекции
48.5. Флуд
48.6. Защита форума PHPBB2 от спамеров
Раздел 11. Полезные сведения
Глава 49. Визуальный редактор SPAW2 для
вашего сайта
49.1. Знакомство с визуальным редактором и его
базовая настройка
49.2. Адаптация редактора к вашему сайту
49.2.1. Загрузка в редактор текста статьи
49.2.2. Вывод редактора в TPL-шаблоне
49.2.3. Запрет изменения размера редактора
49.2.4. Изменение размеров редактора "на лету" -
в процессе выполнения сценария
49.2.5. Панель инструментов редактора
49.2.6. Ошибка Error 105
(net::ERR_NAME_NOT_RESOLVED)
Глава 50. WAP-сервер средствами PHP
50.1. Есть ли необходимость в WAP?
50.2. Настройка веб-сервера Apache
50.3. PHP-сценарий
Глава 51. Пишем коммерческий сценарий
51.1. Zend Guard: за и против
51.2. Установка Zend Guard
51.3. Быстрая защита сценария
51.4. Ошибка Unable to locate XML file
51.5. Лицензии
51.6. Zend Guard - панацея?
Приложения
Приложение 1. Программа phpMyAdmin
П1.1. Действия над таблицами
П1.2. Создание новой таблицы. Изменение
структуры таблицы
П1.3. Вставка записей
П1.4. Обзор таблицы
П1.5. Выполнение произвольного SQL-кода
П1.6. Резервное копирование БД
Приложение 2. Flash и PHP
Приложение 3. Оптимизация PHP-кода
П3.1. Правильное использование echo
П3.2. Длина переменных
П3.3. Правильное обращение к элементам массива
П3.4. Циклы
П3.5. Чтение файлов
П3.6. Вывод текста: echo против printf
П3.7. "Лишние" вызовы функций
П3.8. Контрольные замеры
П3.8.1. Чтение файла
П3.8.2. Вывод содержимого файла
П3.9. Выводы
Приложение 4. Описание электронного архива
Предметный указатель


Об авторе

Колисниченко Д.Н.
Инженер-программист и системный администратор.

Последние поступления в рубрике "Разработка для Интернет"



Легкий способ выучить Python 3 еще глубже Легкий способ выучить Python 3 еще глубже Шоу З.

Воплотите ваши идеи в код самого высокого качества! Зед Шоу – один из тех, кто по-настоящему разбирается в Python. Его советы помогли миллионам программистов по всему миру, помогут они и вам. От вас потребуется лишь дисциплина, желание и упорство, все......

Разработка веб-приложений с помощью Node.js, MongoDB и Angular. Исчерпывающее руководство по использованию стека MEAN Разработка веб-приложений с помощью Node.js, MongoDB и Angular. Исчерпывающее руководство по использованию стека MEAN Дейли Б.

Node.js является главной средой для программирования на стороне сервера, MongoDB — самой распространенной базой данных типа NoSQL и Angular— ведущим каркасом для разработки веб-приложений на стороне клиента по шаблону MVC. Совместно они образуют легко......

Программирование GPU при помощи Python и CUDA Программирование GPU при помощи Python и CUDA Тоуманнен Б.

Книга предлагает быстрое погружение в программирование GPU. Вы узнаете, как применять закон Амдала, использовать профилировщик для определения узких мест в коде на Python, настроить окружения для программирования GPU. По мере чтения вы будете......

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Колисниченко Д.Н., PHP и MySQL. Разработка веб-приложений в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.