PHP и MySQL. Исчерпывающее руководство
Б. Маклафлин
Если у вас есть опыт разработки сайтов с помощью CSS и JavaScript, то эта книга переведет вас на новый уровень веб-разработки — создание динамических веб-сайтов на основе PHP и MySQL. С помощью практических примеров в книге вы узнаете все возможности серверного программирования. Вы прочитаете, как выстраивать базу данных, управлять контентом и обмениваться информацией с пользователями, применяя запросы и веб-формы.
- Написание PHP-скриптов и создание веб-форм
- Синтаксис PHP и SQL
- Создание и управление базой данных
- Создание динамических веб-страниц, которые изменяются при каждом новом просмотре
- Разработка шаблонов страниц об ошибках, которые будут выводиться пользователям
- Использование файловой системы для доступа к данным пользователя, включая иллюстрации и двоичные файлы
- Создание административной страницы для управления сайтом
Издательство: Питер, 2013 г.
ISBN 978-5-459-01550-8, 978-0596515867
Количество страниц: 512.
Содержание книги «PHP и MySQL. Исчерпывающее руководство»:
- 14 Введение
- 14 Что такое PHP?
- 15 PHP ориентирован на работу в сети
- 17 PHP не дает столько вольностей, сколько допускается в JavaScript
- 17 PHP — это интерпретатор
- 18 Что такое MySQL?
- 18 Об этой книге
- 19 Macintosh и Windows
- 19 FTP: важная деталь
- 19 Структура книги
- 20 Внешние ресурсы
- 20 Недостающий компакт-диск
- 21 Отзывы
- 14 Что такое PHP?
- 22 Об авторе
- 22 О творческой группе
- 23 Благодарности
- 24 От издательства
- Часть 1. Основы PHP и MySQL
- 26 Глава 1. PHP: что, где и зачем?
- 26 Подбор инструментов
- 27 PHP на персональном компьютере (PC)
- 32 PHP на компьютерах Macintosh
- 36 Подбор текстового редактора
- 39 Создание вашей первой программы
- 41 Запуск вашей первой программы
- 42 Создание вашей второй программы
- 42 Начало работы: создание HTML-страницы
- 43 Создание PHP-сценария
- 45 Изменчивость переменных
- 46 Выкладывание кода HTML, CSS и PHP
- 48 Запуск вашей второй программы
- 26 Подбор инструментов
- 50 Глава 2. Синтаксис PHP: удивительный и таинственный
- 50 Получение информации из веб-формы
- 50 Непосредственный доступ к параметрам запроса
- 54 Создание собственных переменных
- 58 Работа с текстом в PHP
- 58 Объединение текста
- 60 Поиск в тексте
- 65 Изменение текста
- 68 Обрезка и замена текста
- 73 Переменная $_REQUEST
- 74 Массивы могут содержать несколько значений
- 76 Работа с $_REQUEST как с массивом
- 80 Что делать с пользовательской информацией?
- 50 Получение информации из веб-формы
- 82 Глава 3. MySQL и SQL: база данных и язык
- 82 Что такое база данных?
- 82 Базы данных являются постоянным хранилищем
- 84 База данных — это в первую очередь структура
- 86 (Хорошие) базы данных являются реляционными
- 86 Установка MySQL
- 88 MySQL для Windows
- 94 MySQL для Mac OS X
- 100 Запуск вашего первого SQL-запроса
- 105 SQL — язык для разговора с базами данных
- 107 Вход в базу данных вашего веб-сервера
- 109 Использование базы данных с помощью команды USE
- 110 Создание таблиц с помощью инструкции CREATE
- 114 Удаление таблиц с помощью команды DROP
- 115 Вставка нескольких строк с помощью команды INSERT
- 116 И в завершение — команда SELECT
- 82 Что такое база данных?
- Часть 2. Динамические веб-страницы
- 120 Глава 4. Подключение PHP к MySQL
- 120 Создание простого PHP-сценария, предназначенного для подключения
- 121 Подключение к базе данных MySQL
- 125 Выбор используемой базы данных
- 127 Демонстрация таблиц базы данных с помощью команды SHOW
- 128 Обработка ошибок путем наблюдения за отсутствием результата
- 129 Вывод SQL-результатов
- 133 Приведение кода в порядок с помощью нескольких файлов
- 134 Замена набранных вручную значений переменными
- 135 Абстрагирование важных значений путем заключения их в отдельный файл
- 137 Переменные изменяются, а константы сохраняют постоянство
- 140 Создание элементарного исполнителя SQL-запросов
- 140 Создание HTML-формы с большим пустым полем ввода
- 142 Подключение к базе данных (еще раз)
- 143 Запуск пользовательского SQL-запроса (еще раз)
- 145 Ввод вашего первого запроса, основанного на применении веб-технологий
- 148 Обработка запросов, не выбирающих информацию с помощью команды SELECT
- 152 Учет человеческого фактора
- 153 По возможности нужно избегать внесения изменений в пользовательский ввод
- 120 Создание простого PHP-сценария, предназначенного для подключения
- 157 Глава 5. Улучшение поиска с помощью регулярных выражений
- 158 Сопоставление строк, двойная скорость
- 158 Простая программа поиска в строке
- 160 Поиск одной строки... или другой
- 164 Учет позиции
- 166 Избавление от trim и strtoupper
- 168 Поиск набора символов
- 172 Регулярные выражения: к бесконечности и еще дальше
- 158 Сопоставление строк, двойная скорость
- 174 Глава 6. Создание динамических веб-страниц
- 174 Повторное обращение к пользовательской информации
- 176 Проектирование таблиц базы данных
- 177 В правильных таблицах баз данных всегда есть столбец id
- 178 Ваш друг автоприращение
- 178 ID и первичные ключи — хорошие компаньоны
- 180 Добавление ограничений к базе данных
- 182 Сохранение информации о пользователе
- 183 Создание SQL-запроса
- 185 Вставка данных о пользователе
- 188 Первое действие по подтверждению
- 189 Не нужно путать пользователей с программистами
- 191 Покажите мне пользователя
- 191 Макетирование страницы профиля пользователя
- 194 Изменение структуры таблицы с помощью ALTER
- 196 Создание сценария: первый проход
- 201 Выбор пользователя из базы данных с помощью инструкции SELECT
- 204 Извлечение значений из результата SQL-запроса
- 207 Получение ID пользователя сценарием show_user.php
- 210 Перенаправление и повторное обращение к сценарию, создающему новых пользователей
- 210 Обновление формы регистрации
- 213 Обновление сценария создания пользователя
- 216 Усовершенствование кода с помощью регулярных выражений (в очередной раз)
- Часть 3. Переход от веб-страниц к веб-приложениям
- 222 Глава 7. Когда что-то не получается (но должно получаться)
- 224 Проектирование страниц ошибок
- 225 Что должны видеть пользователи?
- 228 Понятие о том, когда и сколько нужно говорить
- 230 Поиск компромисса для страниц ошибок с помощью PHP
- 231 Создание страницы ошибки с кодом PHP
- 233 Проверка принятого решения
- 234 Ожидайте неожиданного
- 237 А теперь вас ждут проблемы безопасности и фишинга
- 240 Добавление отладки к приложению
- 241 Включение отчета об ошибках, выдаваемого интерпретатором PHP
- 247 Переход от require к require_once
- 249 Сейчас вы меня видите, а сейчас нет
- 251 Переадресация на ошибку
- 251 Обновление вашего сценария для использования show_error php
- 254 Простота и абстракция
- 256 Переадресация не видит пути к файлу
- 224 Проектирование страниц ошибок
- 260 Глава 8. Обработка изображений и решение более сложных задач
- 261 Изображения — это просто файлы
- 263 Формы HTML могут готовить почву
- 266 Отправка изображения пользователя на ваш сервер
- 270 Были ли ошибки при отправке файла?
- 279 Сохранение местоположения изображения в базе данных
- 282 Изображения, предназначенные для просмотра
- 283 Выбор изображения с помощью инструкции SELECT и вывод его на экран
- 285 Преобразование путей файловой системы в URL-адреса
- 289 Отображение картинки вашего пользователя: дубль два
- 291 Несколько небольших исправлений в app_config.php
- 293 А теперь совсем о другом
- 261 Изображения — это просто файлы
- 294 Глава 9. Двоичные объекты и загрузка изображений
- 294 Хранение разных объектов в различных таблицах
- 297 Вставка в таблицу необработанного изображения
- 300 Функция getimagesize не возвращает размер файла
- 300 Функция file_get_contents оправдывает свое название
- 300 Вставка изображения с помощью инструкции INSERT
- 301 Пока ваши двоичные данные вставлять небезопасно
- 302 Вставка строки в переменную
- 305 Получение правильного ID перед перенаправлением
- 308 Связывание пользователей и изображений
- 310 Вставка изображения при вставке пользователя
- 316 Связывание таблиц с помощью условия WHERE
- 318 Покажите мне изображение
- 319 Вывод изображения
- 324 Перехват и обработка ошибок
- 328 Тест, тест и еще раз тест
- 329 Встроить изображение ничуть не сложнее, чем его просмотреть
- 329 Вам нужен лишь идентификатор изображения
- 330 Сценарий может быть в виде указания в теге источника изображения (src)
- 335 Итак, какой же подход лучше?
- 335 Ладно, если вы непременно хотите получить конкретный ответ
- 337 Глава 10. Вывод списков, итерация и администрирование
- 338 Вещи, которые никогда не меняются
- 338 Пользовательский интерфейс, или Краткость по-прежнему сестра таланта
- 340 Нужен также список пожеланий
- 341 Вывод списка всех пользователей
- 342 Выбор с помощью SELECT нужной (на данный момент) информации
- 344 Создание простой страницы администрирования
- 346 Перебор элементов массива
- 350 Удаление пользователя
- 350 Разбор отдельных компонентов
- 351 Объединение всех составляющих
- 354 Удаление пользователей не должно быть некой тайной операцией
- 358 Возражения, высказываемые вашим пользователям
- 359 У перенаправления есть некоторые ограничения
- 362 Возвращение окна предупреждения, создаваемого с помощью JavaScript
- 368 Функция alert прерывает действия
- 369 Приведение сообщений к единому стандарту
- 372 Создание новой сервисной функции для отображения
- 374 Появление дубликатов — вполне ожидаемая проблема
- 376 Коды сценариев View и Display имеют общий характер
- 377 Интеграция утилит, представлений и сообщений
- 377 Вызов повторяющегося кода из сценария View
- 378 Лучше использовать гибкие функции
- 384 Стандартизация и объединение вывода сообщений в сценарии View
- 386 Создание функции для вызова двух функций
- 387 Теперь нужно просто распространить эту информацию на весь код
- 338 Вещи, которые никогда не меняются
- Часть 4. Безопасность и реальное окружение
- 392 Глава 11. Аутентификация и авторизация
- 393 Начнем со стандартной аутентификации
- 394 Стандартная аутентификация с использованием HTTP-заголовков
- 395 Стандартная аутентификация проводится... стандартно
- 396 Самая худшая из всех аутентификаций
- 397 Получение данных о полномочиях вашего пользователя
- 398 Отмена не подходит для аутентификации
- 399 Получение пользовательских полномочий (на этот раз всерьез!)
- 403 Извлечение всего одинакового
- 403 Еще один сервисный сценарий: authorize.php
- 407 Пароли не должны находиться в сценариях PHP
- 408 Обновление таблицы users
- 409 Работа с вновь созданными недопустимыми данными
- 411 Вам нужно получить исходные имя пользователя и пароль
- 415 Вставка имени пользователя и пароля
- 419 Подключение сценария authorize.php к таблице users
- 422 Пароли обеспечивают безопасность, но и сами они должны быть защищены
- 423 Шифрование текста с помощью функции crypt
- 424 Однонаправленное шифрование с помощью функции crypt
- 425 При шифровании используется соль
- 393 Начнем со стандартной аутентификации
- 428 Глава 12. Cookie-файлы, вопросы регистрации и избавление от примитивных окон
- 429 Выход за рамки стандартной аутентификации
- 430 Начало с создания стартовой страницы
- 432 Управление регистрацией пользователя при входе в приложение
- 435 От HTTP-аутентификации к использованию сookie-файлов
- 436 Регистрация при входе в приложение с использованием cookie-файлов
- 438 Зарегистрировался пользователь или нет?
- 438 Пытается ли пользователь зарегистрироваться?
- 440 Отображение страницы
- 442 Перенаправление по мере необходимости
- 444 Регистрация пользователя при входе в приложение
- 447 Пустые страницы и истечение срока действия cookie-файлов
- 450 Ошибки не всегда должны прерывать работу приложения
- 454 Настройка на повторные попытки
- 455 Добавление контекстно-зависимых меню
- 456 Установка меню
- 459 От HTML к сценариям
- 463 Отмена регистрации пользователей
- 465 Требование создания cookie-файла
- 429 Выход за рамки стандартной аутентификации
- 469 Глава 13. Авторизация и сессии
- 469 Моделирование групп в базе данных
- 470 Добавление таблицы groups
- 471 Отношение «многие ко многим»
- 475 Проведение теста на принадлежность к группе
- 476 Проверка на принадлежность к группе
- 477 Сценарий authorize php нуждается в функции
- 479 Получение списка групп
- 481 Последовательный перебор групп
- 485 Разрешить, отказать, перенаправить
- 487 Меню, ориентированное на принадлежность к той или иной группе
- 491 Введение в практику использования сессий браузера
- 494 Сессии находятся на серверной стороне
- 494 Сессии должны быть запущены
- 495 От $_COOKIE к $_SESSION
- 496 Сессии должны быть еще и перезапущены
- 500 Переменная $_REQUEST не включает в себя данные переменной $_SESSION
- 502 Меню для любого пользователя?
- 503 А теперь отмените регистрацию
- 504 А вы не забыли о проблеме фишинга?
- 507 А зачем вообще использовать cookie-файлы?
- 469 Моделирование групп в базе данных
Инструкция как скачать книгу Б. Маклафлин: PHP и MySQL. Исчерпывающее руководство в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Рейтинг книги:
0 голосов
2278