PHP 5/6 и MySQL 6. Разработка Web-приложений. 2-е изд. (+CD) PHP 5/6 и MySQL 6. Разработка Web-приложений. 2-е изд. (+CD) На практических примерах описана разработка Web-приложений на языке PHP версий 5 и 6. Большая часть кода примеров совместима с обеими версиями PHP, но особое внимание уделено новым функциям PHP 6. Даны начала программирования на PHP: установка и настройка PHP и MySQL, выбор редактора PHP-кода, основы синтаксиса и самые полезные функции PHP. Рассмотрено создание собственного движка сайта и ряда дополнительных модулей - фотогалереи, RSS-граббера, модуля для работы с MP3, модуля продажи недвижимости, гостевой книги, а также применение мощного шаблонизатора Smarty и создание простейшего собственного шаблонизатора. В качестве хранилища данных использованы два сервера - самая современная версия MySQL 6 и \"суперлегкий\" сервер баз данных SQLite. Показано, как с помощью технологии Ajax добиться обновления данных на странице без ее перезагрузки. Во втором издании описаны новые инструменты для создания сложных проектов PEAR, CVS и PHPUnit. Прилагаемый компакт-диск содержит дополнительные главы, все листинги из книги, а также необходимое программное обеспечение. BHV 978-5-9775-0581-9
388 руб.
Russian
Каталог товаров

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

Временно отсутствует
?
  • Описание
  • Характеристики
  • Отзывы о товаре
  • Отзывы ReadRate
На практических примерах описана разработка Web-приложений на языке PHP версий 5 и 6. Большая часть кода примеров совместима с обеими версиями PHP, но особое внимание уделено новым функциям PHP 6. Даны начала программирования на PHP: установка и настройка PHP и MySQL, выбор редактора PHP-кода, основы синтаксиса и самые полезные функции PHP. Рассмотрено создание собственного движка сайта и ряда дополнительных модулей - фотогалереи, RSS-граббера, модуля для работы с MP3, модуля продажи недвижимости, гостевой книги, а также применение мощного шаблонизатора Smarty и создание простейшего собственного шаблонизатора. В качестве хранилища данных использованы два сервера - самая современная версия MySQL 6 и "суперлегкий" сервер баз данных SQLite. Показано, как с помощью технологии Ajax добиться обновления данных на странице без ее перезагрузки. Во втором издании описаны новые инструменты для создания сложных проектов PEAR, CVS и PHPUnit.

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

Оставить заявку на описание
?
Содержание
Оглавление ВВЕДЕНИЕ 1
Что нового во 2-м издании 1
Немного истории 2
PHP 6 3
MySQL 4
Поддержка читателей 5
ЧАСТЬ I. ТЕОРИЯ 7
РАЗДЕЛ 1. БЫСТРЫЙ СТАРТ 9
ГЛАВА 1. УСТАНОВКА НЕОБХОДИМОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 11
1.1. Нужно ли устанавливать программное обеспечение 11
1.2. Выбор PHP-редактора и FTP-клиента 13
1.3. Установка Apache + PHP + MySQL в Windows 16
1.4. Установка Apache + PHP + MySQL в Linux 21
1.5. Несколько советов 22
ГЛАВА 2. ПЕРВАЯ PHP-ПРОГРАММА 23
2.1. Ваша первая программа 23
2.2. Запуск PHP-программы 24
2.3. Вывод текста без echo 25
ГЛАВА 3. ОСНОВЫ СИНТАКСИСА PHP 28
3.1. Переменные 28
3.1.1. Правила объявления переменных. Имена переменных 28
3.1.2. Типы данных переменных 29
3.1.3. Булевы переменные 31
3.1.4. Операции над переменными 32
3.1.5. Ссылки 33
3.2. Константы 34
3.3. Выражения и операции 35
3.3.1. Что такое выражение 35
3.3.2. Арифметические операции 36
3.3.3. Логические выражения 36
3.3.4. Приоритеты операций 37
3.3.5. Операторы эквивалентности == и === 38
3.3.6. Операции со строками 39
3.4. Условный оператор 40
3.5. Циклы 41
3.5.1. Цикл со счетчиком 41
3.5.2. Цикл while 42
3.5.3. Цикл do-while 42
3.5.4. Принудительное завершение цикла и пропуск итерации 43
3.6. Оператор выбора switch-case 43
РАЗДЕЛ 2. ПЕРЕДАЧА ПАРАМЕТРОВ PHP-ПРОГРАММАМ 45
ГЛАВА 4. МЕТОДЫ GET И POST 47
4.1. Интерфейс CGI 47
4.2. Метод GET 49
4.3. Метод POST 50
ГЛАВА 5. ПРОТОКОЛ HTTP И ИНТЕРФЕЙС CGI 51
5.1. Специальные переменные окружения CGI 51
5.2. Заголовки протокола HTTP 52
5.3. Коды ответов протокола HTTP 54
ГЛАВА 6. ПЕРЕДАЧА ПАРАМЕТРОВ ПОСРЕДСТВОМ HTML-ФОРМЫ 55
6.1. Создание простейшей формы и ее обработка в сценарии 55
6.2. Создание пользовательского интерфейса с помощью формы 58
6.2.1. Ввод текста. Теги INPUT и TEXTAREA 60
6.2.2. Зависимые и независимые переключатели 61
6.2.3. Списки выбора 63
6.2.4. Форма для передачи файлов 65
6.2.5. Кнопки 65
6.3. Проверка параметров формы 66
6.3.1. Проверка корректности e-mail 67
6.3.2. Проверка правильности номера кредитной карты 68
6.3.3. Удаление лишних пробелов 70
ГЛАВА 7. ЗАПОМИНАНИЕ ПАРАМЕТРОВ С ПОМОЩЬЮ COOKIES И СЕССИЙ 71
7.1. Что такое Cookies и как с ними работать 71
7.2. Механизм сессий 74
7.2.1. Сессии и Cookies: преимущества и недостатки 74
7.2.2. Для чего нужны сессии 74
7.2.3. Как работает механизм сессий 76
7.2.4. Обход Cookies 78
7.3. Массивы и Cookies 78
ГЛАВА 8. ОТДЕЛЬНОЕ СЛОВО О ДИРЕКТИВЕ REGISTER_GLOBALS 79
8.1. Почему опасно использовать register_globals 79
8.2. Если register_globals отключена 84
8.3. PHP 6 и register_globals 86
РАЗДЕЛ 3. МАССИВЫ И СПИСКИ 87
ГЛАВА 9. ОСНОВНЫЕ ОПЕРАЦИИ НАД МАССИВАМИ И СПИСКАМИ 89
9.1. Массив и список. Цикл foreach 89
9.2. Функции list() и array() 91
9.3. Удаление массива 92
9.4. Слияние массивов 93
9.5. Функция print_r() 95
ГЛАВА 10. ФУНКЦИИ СОРТИРОВКИ МАССИВОВ 97
10.1. Функции для сортировки массивов 97
10.2. Функция sort() — сортировка списка 97
10.3. Функция asort() — сортировка массива по значениям 98
10.4. Функция ksort() — сортировка по ключам 99
10.5. Функции array_reverse() и shuffle() 100
10.6. Собственная функция сортировки 101
ГЛАВА 11. ОСОБЫЕ ОПЕРАЦИИ НАД МАССИВАМИ 103
11.1. Добавление и удаление элементов массива 103
11.2. Упаковка переменных в массив и их извлечение 105
11.3. Получение части массива 106
РАЗДЕЛ 4. ФУНКЦИИ В PHP 107
ГЛАВА 12. ПОЛЕЗНЫЕ СТАНДАРТНЫЕ ФУНКЦИИ 109
12.1. Генератор случайных чисел 109
12.2. Дата и время 110
12.2.1. Кратко о timestamp 110
12.2.2. Функции strtotime() и checkdate() 111
12.2.3. Вывод даты 112
12.3. Математические функции 114
ГЛАВА 13. ФУНКЦИИ ДЛЯ РАБОТЫ СО СТРОКАМИ 115
13.1. Основные строковые функции 115
13.2. Специальные функции замены 117
13.3. Преобразование строки 117
13.4. Функции преобразования кодировок 119
13.5. Функции для работы с отдельными символами строки 120
13.6. Функция md5() 120
13.7. Функция explode(): выделение подстрок 121
ГЛАВА 14. РАБОТАЕМ С ФАЙЛАМИ И КАТАЛОГАМИ 122
14.1. Права доступа в UNIX 122
14.2. Чтение файла 125
14.2.1. Использование функций fopen() и fread() 125
14.2.2. Использование функции file(): построчное чтение файла 128
14.2.3. Чтение всего файла: функция file_get_contents() 130
14.3. Запись файла 130
14.4. Создание временных файлов 131
14.5. Работа с CSV-файлами 131
14.6. Специальные функции для работы с файлами 134
14.6.1. Функции для работы с именами файлов 134
14.6.2. Работа с правами доступа 135
14.6.3. Копирование, переименование и удаление файлов 136
14.6.4. Время доступа к файлу 137
14.6.5. Другие полезные функции 138
14.7. Совместный доступ к файлу 139
14.8. Функции для работы с каталогами 140
ГЛАВА 15. ВЫВОД ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ СРЕДСТВАМИ PHP 142
15.1. Библиотека GD 142
15.1.1. Получение информации об изображении 143
15.1.2. Конвертирование графических форматов 146
15.1.3. Вывод текста поверх картинки 149
15.1.4. Прозрачность 152
15.2. Изменение размера изображения 152
15.3. Создание водяных знаков 154
ГЛАВА 16. РАБОТА С СЕТЕВЫМИ СОКЕТАМИ В PHP. СЕТЕВЫЕ ФУНКЦИИ 157
16.1. Еще раз о том, что такое сокет 157
16.2. Использование сокетов 158
16.3. Пример использования сокетов 159
16.4. Блокирующий и неблокирующий режимы сокета 163
16.5. DNS-функции 163
ГЛАВА 17. СОБСТВЕННЫЕ ФУНКЦИИ 165
17.1. Зачем нужны собственные функции 165
17.2. Особенности функций в PHP 166
17.3. Объявление функции 166
17.4. Области видимости функции 167
17.5. Вложенность функций 168
17.6. Переменное число аргументов 170
17.7. Передача массивов в качестве параметров 171
РАЗДЕЛ 5. СЕРВЕРЫ БАЗ ДАННЫХ MYSQL 6 И SQLITE 173
ГЛАВА 18. ОСНОВЫ SQL 175
18.1. Немного истории 175
18.2. Преимущества SQL 176
18.3. Как выглядят запросы 177
18.4. Что такое база данных 177
18.5. Создание таблиц 179
18.6. Добавление записей в таблицу 183
18.7. Обновление записей 184
18.8. Выборка записей 185
18.9. Удаление записей 186
18.10. Встроенные функции 187
18.11. Группировка записей. Сложные запросы 188
ГЛАВА 19. ФУНКЦИИ ДЛЯ РАБОТЫ С MYSQL 192
19.1. Подключение к серверу MySQL 192
19.2. Несколько MySQL-соединений 194
19.3. Передача запросов серверу 195
19.4. Работа с базой данных. Создание базы данных 200
19.5. Функция mysql_real_escape_string($content) 200
ГЛАВА 20. АЛЬТЕРНАТИВНАЯ БАЗА ДАННЫХ SQLITE 202
20.1. MySQL vs SQLite: что лучше 202
20.2. Открытие базы данных 204
20.3. Передача запросов 205
20.4. Работа с результатом запроса 205
20.5. Список PHP-функций для работы с SQLite 207
ГЛАВА 21. ПОЛЕЗНЫЕ ПРИЕМЫ ПРИ РАБОТЕ С MYSQL 6 210
21.1. Выбор кодировки 210
21.2. Сортировка: вывод новинок. Вывод случайных записей 211
21.3. Постраничный вывод таблицы 212
РАЗДЕЛ 6. ИНСТРУМЕНТЫ ДЛЯ СОЗДАНИЯ СЛОЖНЫХ ПРОЕКТОВ 219
ГЛАВА 22. РАЗРАБОТКА СОБСТВЕННОГО ШАБЛОНИЗАТОРА 221
22.1. Организация файлов и каталогов проекта 221
22.2. Выносим параметры в отдельный файл 224
22.3. Подключение дополнительных файлов 225
22.3.1. Инструкции include и require 225
22.3.2. Альтернативный способ подключения сценариев 226
22.3.3. Инструкции include_once и require_once 228
22.4. Шаблоны 228
ГЛАВА 23. ШАБЛОНИЗАТОР SMARTY 233
23.1. Что такое Smarty 233
23.2. Установка Smarty 234
23.3. Создание setup.php 237
23.4. Разработка шаблонов Smarty 238
23.4.1. Комментарии в шаблонах 238
23.4.2. Переменные в Smarty 239
23.4.3. Файлы конфигурации шаблонов 240
23.4.4. Служебная переменная {$smarty} 241
23.4.5. Модификаторы переменных 243
23.4.6. Стандартные (встроенные) функции Smarty 246
Функции {include} и {insert} 247
Функция {foreach} 247
Функции {if}, {elseif}, {else} 249
Функция {capture} 251
Функция {php} 251
Функция {strip} 251
23.4.7. Пользовательские функции Smarty 252
Функция {assign} 252
Функция {cycle} 252
Функция {fetch} 253
Функции {html_checkboxes} и {html_radios} 253
Функция {html_image} 254
Функция {html_select_date} 254
Функция {html_select_time} 257
Функция {html_table} 257
23.5. Smarty для программиста 258
23.5.1. Специальные переменные 258
23.5.2. Полезные методы класса Smarty 261
ГЛАВА 24. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ 262
24.1. Основы ООП 262
24.2. Классы и объекты 263
24.3. Конструкторы и деструкторы класса 266
24.4. Наследование классов. Полиморфизм 267
24.5. Новые возможности PHP 5/6 268
24.5.1. Область видимости членов класса 268
24.5.2. Абстрактные классы и методы 269
24.5.3. Служебное слово final 270
24.5.4. Клонирование объектов 271
24.5.5. Обработка исключительных ситуаций 272
24.5.6. Константы-члены класса 273
24.5.7. Статические члены класса 274
24.5.8. Оператор instanceof 274
24.5.9. Итераторы 275
24.5.10. Пространства имен 275
ГЛАВА 25. МЕХАНИЗМ СЕССИЙ 276
25.1. Для чего нужны сессии 276
25.2. Как работает механизм сессий 278
25.3. Обход Cookies 279
25.4. Сценарий аутентификации 280
ГЛАВА 26. ВВЕДЕНИЕ В PEAR 285
26.1. Серьезные проекты и PEAR 285
26.2. Пример использования класса DB 287
ГЛАВА 27. КОНТРОЛЬ ВЕРСИЙ 291
27.1. Выбор системы контроля версий 291
27.2. Практическое использование TortoiseHG (Mercurial) 293
27.3. Просмотр внесенных изменений 295
ГЛАВА 28. ТЕСТИРОВАНИЕ PHP-СЦЕНАРИЕВ 298
28.1. Программа работает, но не так, как нам нужно 298
28.2. "Самодельные" точки останова 300
28.3. Система автоматического тестирования 300
28.4. Директива error_reporting 305
ЧАСТЬ II. ПРАКТИКА 307
РАЗДЕЛ 7. РАЗРАБОТКА ОСНОВНЫХ ЭЛЕМЕНТОВ САЙТА 309
ГЛАВА 29. ЗАГРУЗКА ФАЙЛОВ НА СЕРВЕР 311
29.1. Что нужно знать о загрузке файлов на сервер 311
29.2. Реализация загрузки файла 314
29.3. Загрузка нескольких файлов 317
29.4. Проблемы при загрузке файлов 319
ГЛАВА 30. ИСПОЛЬЗОВАНИЕ FTP-ФУНКЦИЙ 321
30.1. Функции для работы с FTP 321
30.2. Примеры использования FTP-функций 325
ГЛАВА 31. ОТПРАВКА И ПРИЕМ ПОЧТЫ 328
31.1. Отправка почты средствами PHP — функция mail() 328
31.2. Отправка писем с вложениями — класс HtmlMimeMail 330
31.2.1. Отправка сообщения 330
31.2.2. Проблемы при отправке сообщения 334
31.2.3. MIME-типы 336
31.3. Получение писем по протоколу POP3 337
ГЛАВА 32. РАБОТА С RSS: ПОЛУЧАЕМ НОВОСТИ НА САЙТ 342
32.1. Краткие сведения о RSS 342
32.2. Формат RSS-файла 343
32.3. Написание сценария импорта новостей 345
32.4. Подключение файла import.php к сайту 349
32.5. Создание граббера новостей 349
ГЛАВА 33. ПОИСК С ИСПОЛЬЗОВАНИЕМ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ 354
33.1. Нужно что-то найти… 354
33.2. Язык регулярных выражений RegEx 355
33.3. Управляющие конструкции 357
33.3.1. Квантификаторы 357
33.3.2. Альтернативный оператор | 358
33.3.3. Скобки 358
33.4. Псевдосимволы 359
33.5. Практическое использование RegEx-функций 359
ГЛАВА 34. РАБОТАЕМ С MP3 364
34.1. Формат MP3 364
34.2. Библиотека PEAR 365
34.3. Вывод ID3-тегов 366
34.4. Редактирование ID3-тегов 368
34.5. Удаление тега 369
ГЛАВА 35. ТЕХНОЛОГИЯ AJAX 370
35.1. Что такое Ajax 370
35.2. Ваше первое Ajax-приложение 371
РАЗДЕЛ 8. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ САЙТА 377
ГЛАВА 36. СОЗДАНИЕ ПРОСТЕЙШЕГО ДВИЖКА САЙТА 379
36.1. Планирование движка 379
36.1.1. Зачем нужно разрабатывать собственный движок 379
36.1.2. Необходимые нам функции движка 381
36.1.3. "Принципиальная схема" движка 383
36.2. Основные функции движка 385
36.2.1. Разработка TPL-шаблона 385
36.2.2. Файл настроек 386
36.2.3. Основной файл CMS — index.php 386
36.2.4. Проектирование базы данных 389
Таблица static 390
Таблица cats 390
Таблица pages 392
36.2.5. Иерархическая структура сайта 393
Алгоритм работы меню 393
Сценарий menu.php 395
Вывод содержимого раздела и страницы 402
36.3. Дополнительные функции движка 406
36.3.1. Вывод информации из таблицы static 406
36.3.2. Функция вывода содержимого HTML-файла 408
36.3.3. Версия для печати 409
36.4. Где взять листинги этой главы 410
ГЛАВА 37. СОЗДАНИЕ ФОТОГАЛЕРЕИ 412
37.1. Постановка задачи 412
37.2. Загрузка изображений на сервер 412
37.3. Вывод галереи 417
ГЛАВА 38. ГОСТЕВАЯ КНИГА 420
38.1. Пережиток прошлого? 420
38.2. Разработка базы данных и структура гостевой книги 421
38.3. Вывод гостевой книги 421
38.4. Добавление записей в гостевую книгу 425
38.5. Сервисный сценарий gb_service.php 429
ГЛАВА 39. ИНТЕГРАЦИЯ ГАЛЕРЕИ LIVEJOURNAL И ВАШЕГО САЙТА 431
39.1. Что такое Живой журнал 431
39.2. Интеграция фотогалереи LiveJournal и сайта 433
39.3. Настройка внешнего вида галереи 437
ГЛАВА 40. СОЗДАНИЕ СЧЕТЧИКА САЙТА 439
40.1. Постановка задачи 439
40.2. Файл конфигурации 440
40.3. Разработка таблиц counter и ipaddr 440
40.4. Сценарий counter.php 442
40.5. Сценарий reset_counter.php 447
ГЛАВА 41. СТАТИСТИКА САЙТА 448
41.1. Методы сбора статистики 448
41.2. Программы-анализаторы журналов Web-сервера 450
41.3. Системы статистики 451
ГЛАВА 42. ГОЛОСОВАНИЯ (ОПРОСЫ) 455
42.1. Разработка собственной системы голосования 455
42.2. Разработка сценария poll_form.php 457
42.3. Сценарий poll_process.php 459
42.4. Сценарий poll_results.php 461
РАЗДЕЛ 9. СЛОЖНЫЙ ПРОЕКТ: САЙТ ПО ПРОДАЖЕ НЕДВИЖИМОСТИ 465
ГЛАВА 43. ПОСТАНОВКА ЗАДАЧИ 467
43.1. Функции будущего проекта 467
43.2. Разработка базы данных 468
ГЛАВА 44. РАЗРАБОТКА ОСНОВНОЙ ЧАСТИ САЙТА 479
44.1. С чего начать 479
44.2. Реализация основных функций системы 481
44.2.1. Аутентификация пользователей 481
44.2.2. Вывод VIP-объявлений 485
44.2.3. Вывод объявлений об услугах 488
44.2.4. Вывод рекламных баннеров 489
44.2.5. Постраничный вывод объявлений 489
44.3. На что обратить внимание 493
ГЛАВА 45. РАЗРАБОТКА ПАНЕЛИ АДМИНИСТРИРОВАНИЯ 501
45.1. Функции панели управления 501
45.2. Управление VIP-объявлениями 502
45.3. Массовая отправка электронного сообщения 503
45.4. Общие операции с базой данных 504
45.5. Редактирование статей, новостей и контактов 505
РАЗДЕЛ 10. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ САЙТА 507
ГЛАВА 46. SSL-СОЕДИНЕНИЯ 509
46.1. Защищаем передаваемые данные 509
46.2. Настройка SSL в DirectAdmin 510
46.3. SSL-переменные 512
ГЛАВА 47. ЗАЩИТА PHP С ПОМОЩЬЮ КОНФИГУРАЦИОННОГО ФАЙЛА 515
47.1. Конфигурационный файл php.ini 515
47.2. Отключение потенциально опасных функций 517
47.3. Рекомендованные значения некоторых конфигурационных директив 517
ГЛАВА 48. ЗАЩИТА САЙТА ОТ АТАК 519
48.1. Сайт в опасности 519
48.2. Два самых распространенных метода взлома 520
48.3. Межсайтовый скриптинг 521
48.4. SQL-инъекции 523
48.5. Флуд 527
48.6. Защита форума PHPBB2 от спаммеров 528
ПРИЛОЖЕНИЕ. ОПИСАНИЕ CD 531
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 533
Штрихкод:   9785977505819
Размеры:   70x 100x 16 мм
Тираж:   2 000
Сведения об издании:   2-е издание
Отзывы
Найти пункт
 Выбрать станцию:
жирным выделены станции, где есть пункты самовывоза
Выбрать пункт:
Поиск по названию улиц:
Подписка 
Введите Reader's код или e-mail
Периодичность
При каждом поступлении товара
Не чаще 1 раза в неделю
Не чаще 1 раза в месяц
Мы перезвоним

Возникли сложности с дозвоном? Оформите заявку, и в течение часа мы перезвоним Вам сами!

Captcha
Обновить
Сообщение об ошибке

Обрамите звездочками (*) место ошибки или опишите саму ошибку.

Скриншот ошибки:

Введите код:*

Captcha
Обновить