План по Web-программированию Часть 1. Клиентский JavaScript История JavaScript: LiveScript и Java --- Различия между браузерами --- Стандарт ECMA-262 --- Работа в Macromedia HomeSite или HTMLPad Fisherman --- Вставление скриптов в страницу, комментирование от старых браузеров --- Объекты, методы и свойства --- Метод alert() --- Многострочные и однострочные комментарии --- Методы confirm() и prompt(), аргументы Значения в JavaScript: string, number, boolean, undefined, null --- String и экранирование символов, символы \t и \n --- Создание переменных, инструкция var, правила наименования переменных, присваивание значений переменной и нескольким переменным сразу --- Вывод на экран значений переменных --- Ошибки в определении переменных и отладка, консоль отладки браузера Mozilla и Firefox --- Использование prompt() для присвоения значения переменной --- Последовательные присвоения --- Вычислитель площади прямоугольника*** Массивы: создание, использование элементов массива, быстрое создание массива --- Вывод дня недели, вывод "правильного" дня недели, Number() --- Свойство length --- Вывод всех элементов массива [Преобразования boolean, typeof(), toString(), parseInt(), isNaN()] --- Вычислитель прямоугольника, контролирующий тип переменной*** --- Что возвращает confirm() --- +, -, *, /, ++ и -- (постфиксный и префиксный инкремент/декремент), унарный -, +=, -=, *=, /= --- ==, <, >, <=, >=, != --- &&, ||, ! --- [eval() и калькулятор] --- Условие if (boo) {...} else {...} --- Операция res = (boo) ? ontrue : onfalse --- close() и закрытие окна по confirm()*** --- while (boo) {...} --- Возможность получения бесконечных циклов --- for (var; boo; incr) {...} --- Заполнение массива значениями (числами или текстом) --- for var in array {...}--- [switch (var) {case n: ...; default: ...}] --- Простейший прием защиты информации: выдача страниц по паролю*** --- Загрузка JavaScript из внешнего файла Функции function (arg) {...} и событие и , события onselect и onchange --- группировка опций при помощи --- Формы, которые работают без "form" --- "textarea rows=... cols=...", похожа на "pre" --- , применение событий и функций JavaScript --- ---
и Три уровня работы с HTML: тривиальный, через иерархию DOM, через ID: --- (УРОВЕНЬ 1) Объекты document.write("html-text") и location.href="URL", --- Динамическое создание окна с документом и его закрытие***, xxx.document.open(), xxx.document.close() --- Разнообразие функций работы с окнами (print, history, source) --- href="javascript: ..." --- Работа со строкой состояния window.status() (УРОВЕНЬ 2) Иерархия объектов, имена объектов document.name, document.forms[], this, top --- JavaScript и формы --- Примеры DOM-конструкций: 1) ***Незаполненное текстовое поле; 2) ***Объект "this":

3) ***Часы (из файла): setTimeout() и рекурсия, объект Date() и его методы; 4) ***Подтверждение пароля (Кингсли, return, проверка кнопок submit и reset); 5) ***Проверка e-mail в форме (поиск @ по indexOf()) 6)
7) Работа с изображениями (Image(), Image.src), смена изображений*** --- Предварительная загрузка изображений --- Случайная загрузка изображений (пример с Herba) --- Фотоальбом*** в Array(), конструкция href="javascript:..." (УРОВЕНЬ 3) JavaScript и CSS: смена цвета заголовка*** --- Создание выпадающего меню через style.display ("none", "block") и/или через style.visibility*** 1)

Header

Примеры JavaScript --- Дни до, время модификации, часы в статусной строке, совет дня --- Калькулятор, SLIK --- Снег, бегущая строка в поле формы и в строке состояния. Часть 2. Apache: SSI, .htaccess Как работает Web-сервер --- Установка и основные настройки Apache, httpd.conf (AddType application/x-httpd-php .php .phtml) --- Модули сервера, например php_mod --- Сервер Apache --- .htaccess: запрет листинга, переадресация, организация приватного доступа --- SSI: включение и переменные HTTP, в том числе HTTP_REFERER, работа с разными браузерами Основы CGI --- Файл cgi.bat и его выполнение из папки /cgi --- Заголовки HTPP --- Выполнение CGI при помощи SSI-exec и разрешения Options +ExecCGI Часть 3. PHP и начала работы с MySQL История PHP --- Основные принципы --- , , *.phtml, *.php, *.php3 --- Работа в PHP Expert Editor, Komodo, PHPEd, Syn, PSPad и проверка работоспособности сервера --- Настройки php (php.ini) --- Основные понятия PHP --- --- --- , error_reporting и пример с неопределенной переменной, знак "@" и substr(), maxlength= --- Операция конкатенации "." --- register_globals = On и пример разбора переменных, superglobals --- Названия функций и имена переменных --- Автоматическое определение типа, gettype(), is_int() etc., isset() --- Арифметические операции и одновременные присваивания --- Логические действия or, and, >, == etc. --- Операция if (boo) {go1} else {go2} --- Скрипт-форма (передача переменной кнопкой submit)*** --- Циклы while, [do ... while], for и foreach типа \n";} ?> --- Функция date() и ее параметры, время последнего изменения файла*** Массивы, их заполнение, в том числе и безындексное --- Заполнение массива из формы*** --- Указатель массива --- Функции current(), end(), next(), prev() и reset(), sort(), rsort(), join() --- Дата по-русски через массив вместо switch()*** --- Перебор массива при помощи foreach($... as $...) --- Слияние массивов array_merge() --- Образование массива из файла file() и деление строк на элементы split()*** Функции работы со строками chop(), trim(), ucwords(), strtolower() и strtoupper(), strpos(), substr(), str_replace(), nl2br(), addslashes(), convert_cyr_string(), strip_tags() Счетчик 1*** и работа с файлами при помощи fopen() --- Блокировка файла --- Пример с падежом человека*** --- require(), include() --- Счетчик 2***, cookies --- PHP-аутентификация --- Сессии --- Голосование*** --- Гостевая книга и ее правки *** --- Поиск по сайту***, рекурсия, работа с папками и каталогами --- Другие поиски: PyroXPro, PHPru.net --- Загрузка файлов*** и посылка почты Библиотека GD: фотоальбом, рисование, работа с TTF*** PHP, MySQL и phpMyadmin: магазин и его работа Wiki --- CMS --- Link Checker --- Random Output --- Файловый менеджер Power Editor --- Тестирование PHPQuest Часть 4. Perl/CGI.pm CGI-интерфейс на примере bat-файла --- Perl и CGI --- Модуль CGI.pm --- Разбор простых примеров из книги "Изучаем Perl"