Оглавление Введение 1
Глава 1. Основы HTML. Создаем дизайн сайта 5
1.1. Основные понятия 5
1.2. Создаем первый HTML-документ 6
1.3. Структура документа 8
1.3.1. Раздел HEAD. Техническая информация о документе 9
1.3.2. Раздел BODY. Основная часть документа 10
1.4. Форматирование отдельных символов 11
1.4.1. Выделение фрагментов текста 11
1.4.2. Вывод текста курсивом 11
1.4.3. Подчеркивание текста 12
1.4.4. Перечеркивание текста 12
1.4.5. Создание нижних и верхних индексов 12
1.4.6. Вывод текста заданным шрифтом 12
1.5. Форматирование документа 13
1.5.1. Тэг комментария 14
1.5.2. Перевод строки 14
1.5.3. Запрет перевода строки 15
1.5.4. Горизонтальная линия 15
1.5.5. Заголовки 16
1.5.6. Разделение на абзацы 16
1.6. Списки 17
1.6.1. Маркированные списки 17
1.6.2. Нумерованные списки 17
1.6.3. Вложенные списки 19
1.7. Графика 19
1.7.1. Вставляем изображение в Web-страницу 20
1.7.2. Используем изображение в качестве фона 21
1.8. Гиперссылки 21
1.8.1. Внешние гиперссылки 22
Абсолютный URL-адрес 22
Относительный URL-адрес 22
1.8.2. Внутренние гиперссылки 23
1.8.3. Гиперссылки на адрес электронной почты 24
1.9. Таблицы 24
1.9.1. Вставляем таблицу в документ 25
1.9.2. Выводим заголовок таблицы 26
1.9.3. Описываем строку таблицы 26
1.9.4. Описываем каждую ячейку таблицы 27
1.9.5. Форматируем Web-страницу при помощи таблиц 29
1.10. Фреймы 31
1.10.1. Делим окно Web-браузера на несколько областей 32
1.10.2. Структура HTML-документа, содержащего фреймы 35
1.10.3. Описываем фреймовую структуру 36
1.10.4. Описываем отдельную область 37
1.10.5. Тэг 38
1.10.6. Загружаем документ в определенный фрейм 38
1.10.7. Тэг . Вставляем фрейм в обычный документ 39
1.11. Карты-изображения 41
1.11.1. Создаем панель навигации при помощи карт-изображений 41
1.11.2. Структура карт-изображений 42
1.11.3. Тэг 43
1.11.4. Описываем активную область на карте-изображении 43
1.12. Формы 45
1.12.1. Создаем форму для регистрации сайта 45
1.12.2. Структура документа с формами 46
1.12.3. Вставляем форму в документ 47
1.12.4. Описываем элементы управления 48
Текстовое поле и поле ввода пароля 49
Кнопка Сброс, Отправить и командная кнопка 49
Скрытое поле hidden 50
Поле для установки флажка 50
Элемент-переключатель 50
1.12.5. Вставляем текстовую область 51
1.12.6. Добавляем список с возможными значениями 51
1.13. Практическое создание сайта 52
1.13.1. Создание дизайна 52
1.13.2. Создаем панель навигации 54
1.13.3. Создаем формы для ввода данных 56
Глава 2 . Основы CSS. Форматируем Web-страницу при помощи стилей 59
2.1. Основные понятия 59
2.2. Способы встраивания определения стиля 60
2.2.1. Встраивание определение стиля в тэг 60
2.2.2. Встраивание определения стилей в заголовок HTML-документа 60
2.2.3. Вынесение таблицы стилей в отдельный файл 62
2.2.4. Приоритет применения стилей 63
2.3. Единицы измерения в CSS 64
2.4. Форматируем шрифты 65
2.4.1. Имя шрифта 65
2.4.2. Стиль шрифта 65
2.4.3. Размер шрифта 65
2.4.4. Цвет шрифта 65
2.4.5. Жирность шрифта 66
2.5. Форматируем текст 66
2.5.1. Расстояние между символами в словах 66
2.5.2. Расстояние между словами 66
2.5.3. Отступ первой строки 67
2.5.4. Вертикальное расстояние между строками 67
2.5.5. Горизонтальное выравнивание текста 67
2.5.6. Вертикальное выравнивание текста 67
2.5.7. Подчеркивание, надчеркивание и зачеркивание текста 68
2.6. Отступы 68
2.6.1. Внешние отступы 68
2.6.2. Внутренние отступы 69
2.7. Рамки 70
2.7.1. Стиль линии рамки 70
2.7.2. Толщина линии рамки 71
2.7.3. Цвет линии рамки 72
2.8. Фон элемента 72
2.8.1. Цвет фона 72
2.8.2. Фоновый рисунок 72
2.8.3. Повторяемость фонового рисунка 73
2.8.4. Прокрутка фонового рисунка 73
2.8.5. Положение фонового рисунка 73
2.9. Списки 73
2.9.1. Вид маркера списка 74
2.9.2. Изображение в качестве маркера списка 74
2.9.3. Компактное отображение списка 74
2.10. Изменяем вид курсора 75
2.11. Раскрашиваем полосы прокруток в окне Web-браузера 75
2.12. Псевдостили гиперссылок. Отображаем ссылки разными цветами 76
2.13. Тэги и . Группируем элементы страницы 78
2.14. Позиционирование элемента. Размещаем элемент в произвольном месте окна Web-браузера 79
2.15. Управление отображением элемента. Скрываем и отображаем абзацы 81
Глава 3. Основы JavaScript. Делаем страницы, реагирующие на действия пользователей 83
3.1. Основные понятия 83
3.2. Первая программа на JavaScript 83
3.3. Комментарии в JavaScript 85
3.4. Вывод результатов работы программы и ввод данных 86
3.4.1. Окно с сообщением и кнопкой OK 86
3.4.2. Окно с сообщением и кнопками OK и Cancel 87
3.4.3. Окно с полем ввода и кнопками OK и Cancel 87
3.5. Переменные 88
3.6. Типы данных и инициализация переменных. Определяем тип данных переменной 89
3.7. Операторы JavaScript 90
3.7.1. Математические операторы 90
3.7.2. Операторы присваивания 92
3.7.3. Двоичные операторы 92
3.7.4. Оператор обработки строк 93
3.7.5. Приоритет выполнения операторов 94
3.8. Преобразование типов данных 94
3.9. Специальные символы. Разбиваем сообщение в диалоговом окне на несколько строк 97
3.10. Массивы 98
3.11. Функции. Разделяем программу на фрагменты 99
3.11.1. Основные понятия 100
3.11.2. Расположение функций внутри HTML-документа 101
3.11.3. Рекурсия. Вычисление факториала 102
3.11.4. Глобальные и локальные переменные 103
3.12. Условные операторы. Выполняем блок кода только при соответствии условию 105
3.12.1. Операторы сравнения 105
3.12.2. Оператор ветвления if…else. Проверяем, какая из кнопок диалогового окна нажата 106
3.12.3. Оператор ? Проверяем число на четность 108
3.12.4. Оператор переключения switch 109
3.13. Операторы циклов. Многократное выполнение блока кода 110
3.13.1. Цикл for 111
3.13.2. Цикл while 111
3.13.3. Цикл do…while 112
3.13.4. Оператор continue. Переходим на следующую итерацию цикла 113
3.13.5. Оператор break. Прерываем цикл 114
3.14. Ошибки в программе 114
3.14.1. Синтаксические ошибки 114
3.14.2. Логические ошибки 115
3.14.3. Ошибки времени выполнения 115
3.15. Встроенные классы JavaScript 116
3.15.1. Основные понятия 116
3.15.2. Класс Global 116
3.15.3. Класс Number. Работаем с числами 117
3.15.4. Класс String. Обрабатываем строки 118
3.15.5. Класс Array. Работаем с массивами. Сортируем массив без учета регистра 120
Многомерные массивы 123
Ассоциативные массивы. Перебираем ассоциативные массивы 124
3.15.6. Класс Math. Используем математические функции 125
3.15.7. Класс Date. Получаем текущую дату и время. Выводим дату и время в окне Web-браузера 127
3.15.8. Класс Function (функции) 130
3.15.9. Класс Arguments. Передаем в функцию произвольное количество аргументов 131
3.15.10. Класс RegExp. Проверяем значение при помощи регулярных выражений 131
Метасимволы, используемые в регулярных выражениях. Проверяем правильность введенной даты, корректность адреса электронной почты 134
Логическое ИЛИ 139
Глобальный класс RegExp. Разбираем адрес электронной почты и URL-адрес на составные части 139
3.16. События 140
3.16.1. Основные понятия 140
3.16.2. События мыши 140
3.16.3. События клавиатуры 141
3.16.4. События документа 141
3.16.5. События формы 142
3.16.6. Последовательность событий 142
3.16.7. Всплывание событий. Прерываем всплывание событий 144
3.16.8. Действия по умолчанию. Прерываем действия по умолчанию 145
3.16.9. Написание обработчиков событий 147
3.16.10. Объект Event. Прерываем события. Выводим координаты курсора и код нажатой клавиши. Выводим сообщение при нажатии комбинации клавиш 149
3.17. Объектная модель Microsoft Internet Explorer 154
3.17.1. Структура объектной модели 154
3.17.2. Объект window. Выводим сообщение в строку состояния Web-браузера 155
3.17.3. Работа с окнами. Создаем новое окно без строки меню, адресной строки и панели инструментов 159
3.17.4. Модальные диалоговые окна. Использование модальных окон вместо встроенных диалоговых окон 163
3.17.5. Таймеры. Создаем часы на Web-странице с точностью до секунды 165
3.17.6. Объект navigator. Получаем информацию о Web-браузере пользователя. Перенаправляем клиента на разные страницы в зависимости от Web-браузера 167
3.17.7. Объект screen. Получаем информацию о мониторе пользователя 170
3.17.8. Объект location. Разбираем URL-адрес документа на составляющие. Создаем многостраничный HTML-документ 171
3.17.9. Объект history. Получаем информацию о просмотренных пользователем страницах. Реализация перехода на предыдущую просмотренную страницу 176
3.17.10. Объект document. Получаем полную информацию о HTML-документе 176
3.17.11. Обращение к элементам документа. Выравниваем все заголовки по центру 182
3.17.12. Работа с элементами документа. Изменяем URL-адрес ссылки. Изменяем текст ссылки. Преобразовываем ссылку в обычный абзац 184
3.17.13. Объект style. Работа с таблицами стилей при помощи JavaScript 186
3.17.14. Объект selection. Проверяем наличие выделенного фрагмента 189
3.17.15. Объект TextRange. Реализация поиска фрагмента в текстовом поле или документе. Расширение или сжатие выделенного фрагмента текста 190
3.17.16. Работа с буфером обмена. Выделение фрагмента от позиции щелчка до конца документа и копирование фрагмента в буфер обмена 196
3.17.17. Реализация ссылок "Добавить в Избранное" и "Сделать стартовой страницей" 198
3.17.18. Сохранение данных на компьютере клиента. Определение возможности использования cookies. Сохранение имени и фамилии пользователя. Сохранение русского текста в cookies 199
3.18. Фильтры и преобразования. Создаем мультимедийные эффекты 202
3.18.1. Основные понятия 202
3.18.2. Фильтр Alpha. Задаем уровень прозрачности элемента 203
3.18.3. Фильтр AlphaImageLoader. Отображаем картинку внутри элемента страницы между его фоном и содержимым 204
3.18.4. Фильтр BasicImage. Делаем элемент страницы черно-белым, просвеченным "рентгеновскими" лучами или с инвертированными цветами 205
3.18.5. Фильтр Blur. Делаем элемент страницы размытым 207
3.18.6. Фильтр Chroma. Отображаем отдельный цвет изображения прозрачным 208
3.18.7. Фильтр Compositor. Выводим изображение на текст 209
3.18.8. Фильтр DropShadow. Заставляем элемент страницы отбросить тень 212
3.18.9. Фильтр Emboss. Делаем элемент страницы выпуклым 213
3.18.10. Фильтр Engrave. Отображаем элемент вдавленным в страницу 214
3.18.11. Фильтр Glow. Создаем ореол вокруг элемента страницы 214
3.18.12. Фильтр Gradient. Градиентно закрашиваем элемент страницы 215
3.18.13. Фильтр Light. Создаем эффект освещенности элемента страницы 216
3.18.14. Фильтр MaskFilter. Отображаем прозрачный цвет элемента заданным цветом 217
3.18.15. Фильтр Matrix. Изменяем размер, поворачиваем и инвертируем при помощи матричных преобразований 217
3.18.16. Фильтры FlipH и FlipV. Создаем горизонтальный и вертикальный зеркальный образ 219
3.18.17. Фильтр MotionBlur. Создаем эффект быстрого движения 219
3.18.18. Фильтр Pixelate. Отображаем элемент страницы отдельными пикселами 220
3.18.19. Фильтр Shadow. Заставляем элемент страницы отбросить тень 221
3.18.20. Фильтр Wave. Создаем волнистое искажение элемента страницы 221
3.18.21. Фильтр Gray. Делаем изображение черно-белым 222
3.18.22. Фильтр Invert. Инвертируем цвет 223
3.18.23. Фильтр XRay. Создаем "рентгеновский" образ элемента 223
3.18.24. Преобразования. Создаем эффекты перехода 223
3.19. Работа с элементами формы 231
3.19.1. Элементы управления 231
3.19.2. Коллекция Forms. Доступ к элементу формы из скрипта 232
3.19.3. Свойства объекта формы 233
3.19.4. Методы объекта формы 233
3.19.5. События объекта формы 233
3.19.6. Текстовое поле и поле ввода пароля. Проверка правильности ввода E-mail и пароля. Получение данных из элемента формы. Обработка событий 234
3.19.7. Поле для ввода многострочного текста. Добавление слов из текстового поля в поле 237
3.19.8. Список с возможными значениями. Возможность добавления нового пункта. Применение списков вместо гиперссылок 239
3.19.9. Флажок и переключатели. Получение значения выбранного переключателя при помощи цикла и проверка установки флажка 244
3.19.10. Кнопки. Обработка нажатия кнопки. Деактивация кнопки. Создание клавиши быстрого доступа и вывод текста на кнопке определенным цветом 246
3.19.11. Проверка корректности данных. Создаем форму регистрации пользователя и проверяем корректность введенных данных 248
Глава 4 . Установка и настройка программного обеспечения под Windows 253
4.1. Необходимые программы 253
4.2. Установка сервера Apache 253
4.3. Структура каталогов сервера Apache 255
4.4. Файл конфигурации httpd.conf 256
4.4.1. Основные понятия 257
4.4.2. Разделы файла конфигурации 257
4.4.3. Общие директивы. Создаем домашнюю директорию пользователя, доступную при запросе http://localhost/~nik/ 259
4.4.4. Директивы управления производительностью 261
4.4.5. Директивы обеспечения постоянного соединения 261
4.4.6. Директивы работы с языками 262
4.4.7. Директивы перенаправления 262
4.4.8. Обработка ошибок 263
4.4.9. Обработка MIME-типов 263
4.4.10. Управление листингом каталога 266
4.4.11. Директивы протоколирования 268
4.4.12. Файл конфигурации .htaccess. Управляем сервером Apache из обычной папки 270
4.4.13. Защита содержимого папки паролем 271
4.4.14. Управление доступом 275
4.4.15. Регулярные выражения, используемые в директивах 276
4.4.16. Создание виртуальных серверов. Создаем сайт http://localhost2/ (http://127.0.0.2/) 277
4.5. Настройка сервера Apache 278
4.6. Установка PHP 279
4.7. Установка MySQL 285
4.8. Установка phpMyAdmin 287
Глава 5. Основы PHP. Создаем динамические Web-страницы 293
5.1. Основные понятия 293
5.2. Первая программа на PHP 293
5.3. Методы встраивания PHP-кода 296
5.4. Комментарии в PHP-сценариях 297
5.5. Вывод результатов работы скрипта 297
5.6. Переменные 297
5.7. Типы данных и инициализация переменных 298
5.8. Проверка существования переменной 299
5.9. Удаление переменной 301
5.10. Константы. Создание и использование констант 301
5.11. Операторы PHP 302
5.11.1. Математические операторы 302
5.11.2. Операторы присваивания 304
5.11.3. Двоичные операторы 304
5.11.4. Оператор конкатенации строк. Запуск внешних программ 305
5.11.5. Приоритет выполнения операторов 307
5.12. Преобразование типов данных 308
5.13. Специальные символы 310
5.14. Массивы 310
5.14.1. Инициализация массива 310
5.14.2. Получение и изменение элемента массива. Определение количества элементов массива 311
5.14.3. Многомерные массивы 311
5.14.4. Ассоциативные массивы 312
5.14.5. Слияние массивов 313
5.14.6. Перебор элементов массива 313
5.14.7. Добавление и удаление элементов массива 315
5.14.8. Переворачивание и перемешивание массива 317
5.14.9. Сортировка массива. Создание пользовательской сортировки 317
5.14.10. Получение части массива 319
5.14.11. Преобразование переменных в массив 320
5.14.12. Преобразование массива в переменные 320
5.14.13. Изменение значений элементов массива 321
5.14.14. Заполнение массива числами 322
5.14.15. Преобразование массива в строку 322
5.15. Строки 323
5.15.1. Функции для работы со строками 323
5.15.2. Настройка локали 326
5.15.3. Функции для работы с символами 326
5.15.4. Поиск и замена в строке 327
5.15.5. Функции для сравнения строк 327
5.15.6. Кодирование строки 328
5.15.7. Преобразование кодировок 329
5.15.8. Регулярные выражения. Разбираем адрес электронной почты на составные части. Проверяем правильность введенной даты 329
Метасимволы, используемые в регулярных выражениях 331
Логическое ИЛИ 334
5.16. Функции для работы с числами 334
5.17. Функции для работы с датой и временем. Получаем текущую дату, дату создания файла и проверяем корректность введенной даты 336
5.18. Функции. Разделяем программу на фрагменты 338
5.18.1. Основные понятия 338
5.18.2. Расположение функций 340
5.18.3. Операторы require и include. Выносим функции в отдельный файл. Создаем шаблоны для множества страниц 340
5.18.4. Операторы require_once и include_once 344
5.18.5. Рекурсия. Вычисляем факториал 344
5.18.6. Глобальные и локальные переменные. Передача параметров по ссылке. Использование глобальных переменных внутри функций 345
5.18.7. Статические переменные 348
5.18.8. Переменное число параметров в функции. Суммируем произвольное количество чисел 349
5.19. Условные операторы. Выполняем блок кода только при соответствии условию 350
5.19.1. Операторы сравнения 350
5.19.2. Оператор ветвления if…else. Проверка выбранного элемента из списка 351
5.19.3. Оператор ? Проверка числа на четность 355
5.19.4. Оператор переключения switch. Использование оператора switch вместо if…else 355
5.20. Операторы циклов. Многократное выполнение блока кода 357
5.20.1. Цикл for 358
5.20.2. Цикл while 358
5.20.3. Цикл do…while 359
5.20.4. Цикл foreach 360
5.20.5. Оператор continue. Переходим на следующую итерацию цикла 360
5.20.6. Оператор break. Прерываем цикл 361
5.21. Завершение выполнения сценария. Реализация панели навигации с помощью выбора значения из списка 361
5.22. Ошибки в программе 362
5.22.1. Синтаксические ошибки 363
5.22.2. Логические ошибки 363
5.22.3. Ошибки времени выполнения 363
5.22.4. Обработка ошибок 364
5.22.5. Инструкция or die() 365
5.23. Переменные окружения 365
5.23.1. Массив $GLOBALS 365
5.23.2. Часто используемые переменные окружения 372
5.24. Заголовки HTTP 374
5.24.1. Основные заголовки 374
5.24.2. Функции для работы с заголовками. Перенаправление клиента на другой URL-адрес. Запрет кэширования страниц. Реализация ссылки "Скачать". Просмотр заголовков, отправляемых сервером 375
5.24.3. Работа с cookies. Создаем индивидуальный счетчик посещений 377
5.25. Работа с файлами и каталогами 378
5.25.1. Основные понятия 379
5.25.2. Функции для работы с файлами. Создание файла, запись в файл, вывод содержимого файла в список 379
5.25.3. Перемещение внутри файла 382
5.25.4. Создаем список рассылки с возможностью добавления, изменения и удаления E-mail-адресов 383
5.25.5. Чтение CSV-файлов. Преобразование CSV-файла в HTML-таблицу 387
5.25.6. Права доступа в операционной системе Unix 389
5.25.7. Функции для манипулирования файлами 391
5.25.8. Загрузка файлов на сервер 393
5.25.9. Функции для работы с каталогами. Создаем программу для просмотра всех доступных каталогов и файлов на диске 395
5.26. Отправка писем с сайта. Рассылка писем по E-mail-адресам из файла 399
5.27. Аутентификация с помощью PHP. Создание Личного кабинета 401
5.28. Работа с графикой 406
5.28.1. Информация об установленной библиотеке GD 406
5.28.2. Получение информации об изображении 407
5.28.3. Работа с готовыми изображениями 408
5.28.4. Создание нового изображения 409
5.28.5. Работа с цветом 409
5.28.6. Рисование линий и фигур 411
5.28.7. Вывод текста в изображение. Создаем счетчик посещений 412
5.29. Обработка данных формы 415
5.29.1. Текстовое поле, поле ввода пароля и скрытое поле 415
5.29.2. Поле для ввода многострочного текста 417
5.29.3. Список с возможными значениями 417
5.29.4. Флажок 418
5.29.5. Элемент-переключатель 420
5.29.6. Кнопка Submit 420
5.30. Другие полезные функции 421
5.30.1. Выделение фрагментов исходного кода 421
5.30.2. Получение информации об интерпретаторе 422
5.30.3. Вывод всех доступных сценарию функций 422
5.30.4. Засыпание сценария 423
5.30.5. Изменение значения директив во время выполнения сценария 423
5.30.6. Выполнение команд, содержащихся в строке 423
5.31. Объектно-ориентированное программирование 424
5.31.1. Создание класса 424
5.31.2. Наследование 425
5.31.3. Создание шаблона сайта при помощи класса 427
Глава 6. Основы MySQL. Работаем с базами данных 429
6.1. Основные понятия 429
6.2. Нормализация базы данных 429
6.3. Типы данных полей 432
6.3.1. Числовые типы 433
6.3.2. Строковые типы 433
6.3.3. Дата и время 434
6.4. Основы языка SQL 434
6.4.1. Создание базы данных 435
6.4.2. Создание пользователя базы данных 435
6.4.3. Создание таблицы 437
6.4.4. Вставка данных в таблицу 439
6.4.5. Обновление записей 441
6.4.6. Удаление записей из таблицы 442
6.4.7. Изменение свойств таблицы 442
6.4.8. Выбор записей 443
6.4.9. Удаление таблицы и базы данных 447
6.5. Доступ к базе данных с помощью PHP 447
6.5.1. Установка соединения 447
6.5.2. Выбор базы данных 448
6.5.3. Выполнение запроса к базе данных 448
6.5.4. Обработка результата запроса 449
Глава 7. Сплошная практика 453
7.1. Структура будущего сайта 453
7.2. Создание шаблона сайта 455
7.3. Создание верхнего колонтитула 456
7.3.1. Вывод верхнего колонтитула 457
7.3.2. Создание таблицы стилей 459
7.3.3. Вывод логотипа и рекламного баннера 463
7.3.4. Вывод панели навигации 464
7.3.5. Вывод таблицы-разделителя 464
7.3.6. Вывод поисковой формы 465
7.4. Создание элементов основной части страницы 466
7.5. Создание нижнего колонтитула 469
7.5.1. Вывод нижнего колонтитула для пользователей 469
7.5.2. Вывод нижнего колонтитула для администратора 470
7.6. Структура файла конфигурации 471
7.7. Создание SQL-запросов для таблиц 474
7.8. Вывод оглавления с количеством в каждом разделе 477
7.9. Вывод каталога по параметрам 480
7.10. Организация поиска по каталогу 482
7.11. Создание гостевой книги 486
7.12. Создание формы обратной связи 493
7.13. Создание страниц регистрации ошибок 497
7.14. Создание Личного кабинета для пользователей при помощи PHP 500
7.14.1. Создание страницы с формами "регистрация", "вход в систему", "восстановить пароль" 501
7.14.2. Добавление новых сайтов в базу 511
7.15. Создание администраторской части сайта и защита с помощью сервера Apache 518
7.15.1. Добавление, изменение и удаление рубрик 519
7.15.2. Вывод сайтов, требующих проверки 527
7.15.3. Редактирование описания произвольного сайта 532
7.15.4. Администрирование гостевой книги 540
7.15.5. Создание страницы статистики 544
Глава 8. Публикация сайта 549
8.1. Определение цели 549
8.2. Выбор доменного имени 550
8.3. Виды хостинга 552
8.4. Бесплатный хостинг Narod.ru 554
8.4.1. Регистрация и обзор возможностей 554
8.4.2. Создание страницы "Обратная связь" 555
8.4.3. Загрузка контента на сервер 557
8.4.4. Управление гостевой книгой, форумом и чатом 559
8.5. Платный виртуальный хостинг 563
8.5.1. Выбор тарифного плана 563
8.5.2. Регистрация и обзор возможностей 563
8.5.3. Структура Контрольной панели 565
8.5.4. Структура каталогов сервера и загрузка контента на сервер 567
Использование программы CuteFTP 8 570
Использование программы AceFTP 2 572
Использование программы FAR manager 574
8.5.5. Настройка Web-сервера Apache с помощью файла .htaccess 575
8.5.6. Файл favicon.ico 578
8.5.7. Защита содержимого папки с помощью Web-сервера Apache 578
8.5.8. Загрузка файлов на сервер с помощью формы 580
8.5.9. Создание базы данных MySQL 583
8.5.10. Управление базой данных при помощи phpMyAdmin 583
8.5.11. Отправка почты с сайта 587
8.5.12. Анализ статистики и работа с логами сервера 588
8.5.13. Автоматический запуск программ в заданное время 590
8.6. Раскрутка сайта 592
8.6.1. Подготовка страниц сайта к индексации 593
8.6.2. Файл Robots.txt 594
8.6.3. Регистрация в каталогах и рейтингах 595
8.6.4. Участие в баннерообменных сетях 596
8.6.5. Обмен ссылками с Web-мастерами 596
8.7. Заработок в сети 597
8.7.1. Партнерские программы 597
8.7.2. Рекламные сети 599
8.7.3. Электронные деньги 599
8.8. Перечень полезных сайтов 601
Приложение. Описание компакт-диска 603
Предметный указатель 605