Введение ...11
Часть 1. PHP-код
Глава 1. Установка программного обеспечения...15
1.1. Как работает связка Apache + PHP + + MySQL ...15
1.2. XAMPP: все в «одном флаконе»...16
1.3. Тестирование конфигурации ...18
1.4. Чем редактировать PHP-код ...20
Глава 2. Вывод HTML- и JS-кодов ...23
2.1. Ваша первая PHP-программа...23
2.2. Как правильно вывести HTML- и javascript-код...24
2.3. Инструкции include и require ...25
Глава 3. Переменные и основные конструкции языка ...27
3.1. Переменные в PHP ...27
3.2. Константы ... 28
3.3. Выражения...29
3.4. Оператор if (условный оператор)...30
3.5. Операторы циклов...31
3.6. Оператор switch-case ...32
Глава 4. Передача параметров PHP-сценариям...34
4.1. Методы передачи параметров сценариям ...34
4.2. Формы и элементы управления...34
4.2.1. Текстовые поля ввода ...36
4.2.2. Списки...38
4.2.3. Переключатели...41
4.2.4. Передача файлов с помощью формы...43
4.2.5. Кнопки Submit и Reset ...46
4.3. Получение параметров и их проверка...46
4.4. WYSIWYG-редактор SPAW2...47
Глава 5. Массивы ...50
5.1. Понятие массива ... 50
5.2. Циклы for и foreach...50
5.3. Работа с элементами массива...52
5.4. Конкатенация (соединение) массивов ... 52
5.5. Сортировка массива ... 54
5.5.1. Сортировка списков ... 54
5.5.2. Сортировка ассоциативных массивов ... 55
5.5.3. Пользовательская сортировка ... 55
5.6. Упаковка массива в строку...56
5.7. Суперглобальные (служебные) массивы ... 56
Глава 6. Самые полезные PHP-функции...61
6.1. Функции работы со строками ...61
6.1.1. Список полезных строковых функций ... 61
6.1.2. Определение длины строки ... 62
6.1.3. Поиск и замена в строке ... 62
6.1.4. Сравнение строк ... 63
6.1.5. Работа с подстроками ... 63
6.1.6. Функции удаления пробельных символов ... 64
6.1.7. В помощь веб-программисту ... 64
6.1.8. Изменение регистра символов и работа с отдельными символами ... 66
6.1.9. Работа с бинарными данными ... 66
6.1.10. Алгоритм MD5...67
6.2. Математические функции ... 67
6.3. Функции для работы с файлами и каталогами ...68
6.3.1. Особенности доступа к файлам и каталогам в Unix/Linux ...68
6.3.2. Чтение текстовых файлов ...69
6.3.3. Запись текстового файла...70
6.3.4. Специальные функции для работы с именами файлов ...72
6.3.5. Операции с файлами ... 72
6.3.6. Работа с каталогами ...72
6.4. Функции для работы с датой и временем ... 73
6.5. Функция mail() — отправка сообщений...75
Глава 7. Разработка собственных функций ...77
7.1. Первая функция...77
7.2. Параметры функции ... 78
7.3. Локальные и глобальные переменные ...78
7.4. О вложенности функций ... 79
Глава 8. Работа с базой данных MySQL...81
8.1. Основы баз данных ...81
8.2. Основные SQL-запросы ...83
8.2.1. Создание таблиц ...83
8.2.2. Вставка записей ... 84
8.2.3. Выборка записей ... 85
8.2.4. Обновление записей ... 87
8.2.5. Удаление записей ... 87
8.3. Служебные MySQL-программы ...88
8.4. Функции для работы с MySQL ... 90
8.4.1. Подключение к серверу и выбор базы данных ... 90
8.4.2. Передача SQL-запроса...91
8.4.3. Обработка результатов запросов ... 92
8.4.4. Завершение MySQL-соединения...93
8.5. Постраничный вывод таблицы ... 93
Глава 9. Cookies и сессии...96
9.1. Для чего нужны сессии и Cookies? ...96
9.2. Использование Cookies...97
9.2.1. Установка Cookies...97
9.2.2. Чтение Cookies...98
9.2.3. Почему Cookies не устанавливаются? ...98
9.3. Сессии ... 102
9.3.1. Что сложно реализовать с помощью сессий...102
9.3.2. Использование сессий ... 102
9.3.3. Cookies и сессии ... 103
9.3.4. Пример ... 103
Часть 2 . javascript
Глава 10. Введение в javascript...107
10.1. Что такое javascript? ...107
10.2. Java и javascript ... 107
10.3. Объектная модель javascript. Небольшой экскурс в ООП ...108
10.4. Внедрение javascript в код HTML-страницы ...110
Глава 11. Основы синтаксиса ...113
11.1. Зарезервированные слова... 113
11.2. Переменные в javascript... 113
11.2.1. Объявление переменной ... 113
11.2.2. Преобразование типов ... 114
11.2.3. Локальные и глобальные переменные... 115
11.3. Выражения и операторы... 115
11.3.1. Типы выражений ... 115
11.3.2. Операторы присваивания ... 115
11.3.3. Арифметические операторы ... 116
11.3.4. Логические операторы ... 116
11.3.5. Операторы сравнения ... 116
11.3.6. Конкатенация строк ... 117
11.3.7. Условный оператор...117
11.3.8. Циклы...117
11.3.9. Оператор манипулирования объектом ...118
11.4. Создание объектов и функций...118
11.4.1. Свойства класса ...118
11.4.2. Методы класса...119
11.4.3. Сложные свойства...119
Глава 12. Практические примеры ...121
12.1. Класс Window ...121
12.1.1. Операции над окнами...121
12.1.2. Строка состояния окна — status ...124
12.1.3. Адресная строка...124
12.1.4. История посещения страниц ...125
12.1.5. Изменение свойств тегов
и <IMG...125
12.2. Объект Document...126
12.3. Программирование форм...128
12.4. События. Обработчики событий...131
12.5. Эффект затемнения изображения...133
Часть 3. Практика
Глава 13. Создание доски бесплатных объявлений по продаже компьютерной техники...139
13.1. Постановка задачи... 139
13.2. Проектирование базы данных... 140
13.3. Структура системы ... 141
13.4. Разработка сценария board.php ... 141
13.5. Добавление объявления — boardadd.php ... 147
13.6. Управление объявлениями — boardmanager.php ... 150
Глава 14. Конвертирование таблицы Excel в базу данных MySQL...153
14.1. Формат CSV...153
14.2. Создание таблицы MySQL...153
14.3. Создание сценария convert.php ...154
Глава 15. Создание сценария отправки прайс-листов ...157
15.1. Постановка задачи ... 157
15.2. Кратко о PHPMailer...157
15.3. Разработка формы send.html...158
15.4. Разработка сценария send.php ...159
Заключение...162
Если что-то не работает...162
Приложение А. Права доступа к файлу в UNIX/Linux...163
Приложение Б. GIMP . Экспресс-курс...165
Б.1. Что такое GIMP...165
Б.2. Первый запуск GIMP ...167
Б.3. Практическое использование GIMP ... 167
Б.3.1. Кадрирование ... 167
Б.3.2. Изменение размера...170
Б.3.3. Поворот фотографии ... 171
Б.4. Создание снимков экрана ... 171
Приложение В. Описание CD...173