
- •Web – программирование
- •Глава 2. Проектирование и разработка сайтов……………………………45
- •Глава 3. Информационноый обмен в Веб…………………………………..85
- •Глава 4. Язык JavaScript…………………………………………………..….176
- •Глава 5. Язык серверных скриптов php……………………………………270
- •Глава 6. Лабораторные работы…………………………………………...…358
- •Введениев Интернет Коротко об истории Интернет
- •Как работает Интернет?
- •Система адресации в Интернет
- •Способы подключения к сети Интернет
- •Сервисы Интернет
- •Электронная почта
- •Передача файлов по ftp
- •Всемирная паутина www
- •Коротко о компьютерных сетях, входящих в Интернет
- •Локальные сети
- •Распределенная сеть (wan) и глобальные сети
- •Сеть vpn
- •Компьютерные игры
- •Задания по теме “Введение в Интернет”
- •Глава 1. Протоколы Интернет Адресация в компьютерных сетях
- •Ip адрес в компьютерных сетях Ethernet и Интернет
- •Понятие и краткое описание протоколов
- •Соотношение между tcp/ip и osi/iso
- •Межсетевой протокол ip
- •Транспортный протокол tcp
- •Флаги (управляющие биты) Это поле содержит 6 битовых флагов:
- •Протокол дэйтаграмм udp
- •Ip-маршрутизация
- •Протоколы arp и rarp
- •Протоколы сетевого уровня
- •Протоколы электронной почты
- •Протокол smtp
- •Протокол pop3
- •Протокол imap4
- •Спецификация mime
- •Проблемы с кодировкой
- •Протокол ftp
- •Http – Протокол передачи гипертекстов
- •Транзакции http
- •Клиентские методы http
- •Что возвращается обратно: коды ответа сервера
- •Заголовки http
- •Развитие прикладных протоколов
- •Безопасность в сети
- •Протокол ssl
- •Анонимный обмен ключами
- •Обмен ключами при использовании rsa и аутентификация
- •Протокол записи (Record Layer)
- •Как работает ssl
- •Шифрование данных
- •Хэширование
- •Установление подлинности участников
- •Предупреждения системы безопасности web-браузера.
- •Реализация ssl
- •Задания по теме «Протоколы Интернет»
- •Глава 2. Проектирование и разработка сайтов
- •Виды сайтов
- •Этапы проектирования и разработки сайта
- •Модели проектирования
- •Спиральная модель
- •Microsoft Solutions Framework (msf)
- •Управление проектами
- •Веб – дизайн и разработка сайтов
- •Логическое проектирование дизайна сайта
- •Главная страница сайта
- •Внутренние страницы сайта
- •Краткий обзор основных технологий разработки Веб приложений
- •Язык разметки гипертекста html
- •Язык xml
- •Правильно построенные и действительные документы xml
- •Синтаксис xml
- •Объявление xml
- •Корневой элемент
- •Комментарий
- •Спецсимволы
- •Сильные и слабые стороны
- •Отображение xml во Всемирной паутине
- •Применение стилей css.
- •Применение xsl.
- •Словари xml
- •Как выглядит xml-документ?
- •Правила создания xml- документа
- •Конструкции языка
- •Элементы данных
- •Комментарии
- •Атрибуты
- •Cпециальные символы.
- •Директивы анализатора.
- •Adobe Flash и Adobe Flex
- •Вставка флэш в страницу
- •Язык ActionScript
- •Видео-аудио проигрыватели
- •Язык программирования клиентских скриптов JavaScript
- •Технология «клиент-сервер» cgi
- •Программирование для серверов
- •Язык программирования Perl
- •Язык Java на клиентской и серверной странице
- •Сжатие изображений с помощью фракталов
- •Глава 3. Информационноый обмен в Веб
- •Язык разметки гипертекста html
- •©2012 Romanchik Valery
- •Формы html
- •Новые элементы html5
- •Email Inputs
- •Placeholders
- •Вопросы и задания
- •Задания для выполнения
- •Каскадные таблицы стилей css
- •Свойство шрифтов font позволяет задать одну или несколько характеристик шрифта: font-family| font-style | font-variant | font-weight| font-size
- •Заголовок1 Заголовок2 Заголовок3
- •Свойства текста.
- •Цвет и фон.
- •Некоторые подсказки по синтаксису css:
- •1. Свойства шрифтов.
- •2. Свойства текста.
- •3. Свойства цвета и фона.
- •4. Свойства рамки.
- •5. Свойства списков.
- •6. Свойства изображений.
- •Форматирование блока
- •Форматирование псевдоклассов и псевдоэлементов
- •Единицы измерения в css
- •Новое в css3
- •Валидация css
- •Глава 4. ЯзыкJavaScript Введение
- •Включение скриптов JavaScript в html-код
- •Создание простых сценариев
- •Комментарии. Скрытие сценариев от браузеров
- •Отладка скриптов. Ввод и вывод данных
- •Описание языка Типы данных
- •Преобразование типа
- •Специальные числа
- •Булев тип
- •Переменные типа Undefined и Null
- •Массивы
- •Операторы и выражения
- •Оператор with
- •Оператор switch
- •Метод eval()
- •Функции
- •Передача параметров по значению и по ссылке
- •Глобальные и локальные переменные
- •Модель событий
- •Ключевое слово this
- •Перехват события.
- •Исключения: throw/catch/finally
- •Объектная модель
- •Пользовательские объекты
- •Прототипы
- •Хеш-таблицы в JavaScript
- •Встроенные объекты String, Array, Date, Math Объект String
- •Объект Array
- •Объект Number (Число)
- •Объект Date (Дата)
- •Методы объекта Date
- •Объект Function (Функция)
- •Свойства:
- •Методы :
- •Шаблоны и регулярные выражения.
- •Объекты браузера
- •Объект window
- •Методы объекта window
- •Свойства окна, передаваемые методу open
- •Свойства и методы объекта navigator
- •Свойства объекта screen
- •Свойства и методы объекта history
- •Свойства и методы объекта document
- •Коллекции и подчиненные объекты объекта document Обращение к элементам страницы
- •Свойства и методы объекта location
- •Свойства и методы объекта style
- •Объект layer
- •Свойства объекта layer
- •Методы объекта layer
- •Document Object Model (dom)
- •Навигация по дереву документа
- •Создание новых узлов
- •Добавление узлов в документ
- •Копирование: метод cloneNode()
- •Удаление и замена узлов в документе
- •Использование каскадных таблиц стилей в dom
- •Свойство элемента innerHtml и outerHtml
- •Работа с атрибутами элементов
- •Метод removeAttribute()
- •JavaScript и ajax
- •Модель ajax:
- •Запрос к серверу. Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Информируйте пользователя
- •Если скрипты отключены
- •Объект FormData
- •Cookies
- •Работа с cookie
- •Синтаксис http заголовка для поля Cookie
- •Дополнительные сведения
- •Способы задания значений cookie
- •Примеры на JavaScript
- •Тестовые вопросы по языку JavaScript
- •Упражнения и задачи поJavaScript
- •Глава 5. Язык серверных скриптов php
- •Возможности php.
- •Инструменты для разработки
- •Как phPработает
- •Типы данных
- •Массивы и инициализация массивов
- •Операции и выражения
- •Операции сравнения
- •Логические операции
- •Строковые операции
- •Операторы управления
- •Функции
- •Рекурсивные функции
- •Аргументы функции
- •Область действия и время жизни переменных
- •Изменяемые (динамические) переменные
- •Внешние библиотечные функции
- •Функции для работы с массивами
- •Функции для работы со строками. Базовые строковые функции
- •Функции для работы с отдельными символами
- •Функции форматных преобразований строк
- •Преобразование строк и файлов к формату html и наоборот
- •Преобразование html в простой текст
- •Преобразование строки к верхнему и нижнему регистру
- •Установка локальных настроек
- •Регулярные выражения
- •Perl-совместимые функции рнр для работы с регулярными выражениями
- •Функции даты и времени
- •Математические функции
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и журнал error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •PhPиMySql
- •MySql– сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Phpmyadmin
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и обратно. Протокол http
- •Клиентские методы http
- •Обработка html-форм
- •Передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Передача данных из клиентской формы на сервер по методу get
- •Передача данных из клиентской формы на сервер по методу post
- •Php и различные формы
- •Обработка форм
- •Более сложные переменные формы
- •Глава 6. Лабораторные работы Лабораторная работа №1 (4 часа). Инструменты и средства создания простых сайтов
- •Вопросы по теме:
- •Лабораторная работа №2 Работа с документами .Doc, .Pdf, .Html(4 часа).
- •Лабораторная работа №3. Применение каскадных таблиц стилей css
- •Пример 1. Двухколоночный контейнерный макет сайта с применением css.
- •Пример 2. Трехколоночный контейнерный макет сайта с применением css.
- •Задания для создания сайтов
- •Лабораторная работа №4. Применение каскадных таблиц стилей css
- •Лабораторная работа №5 по JavaScript(4 часа). Динамика на Веб –странице. Включение скриптов JavaScript в html-код
- •1. Выполнить следующие задания на JavaScript:
- •Пример вывода даты и времени на сайте с помощью JavaScript.
- •Пример вывода строки в стиле печатной машинки
- •Лабораторная работа №6 по JavaScript(4 часа). Проверка правильности заполнения формы на сайте
- •Методы объекта window
- •Window.Open()
- •Window.Close()
- •Методы focus() и blur()
- •Лабораторная работа №7. Php Задание 1. Массивы и строки
- •Выполнить одно из перечисленных ниже упражнений
- •Задание 2. Функции
- •Задание 3. Файлы и строки
- •Выполнить одно из перечисленных ниже упражнений
- •Задание 4. Работа с базами данных Выполнить одно из перечисленных ниже упражнений
- •Задание 5. Создание web-объектов Клиентские методы http
- •Обработка html-форм
- •Передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Передача данных из клиентской формы на сервер по методу get
- •Передача данных из клиентской формы на сервер по методу post
- •Список заданий
- •Литература
- •Приложение 1. Программное обеспечение Adobe Dreamweaver
- •Приложение 2. Системы быстрой разработки Веб-приложений и cms
- •Администрирование
- •Установка модуля
- •Создание шаблона в Drupal
- •Создание индивидуальных шаблонов
- •Движок шаблонирования xTemplate
- •Создание нового шаблона
- •Основы создания шаблона
- •Удаление блока с формой входа на сайт
- •Включение блока для отображение популярных статей
- •Удаление ссылки "Далее" в отображение статьи
- •Drupal: практические примеры
- •Часть 1. Введение
- •6 Шагов к тому, чтобы заставить Drupal работать быстрее
- •Приложение 3. Основы cgi/Perl
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Common Gateway Interface
- •Приложение 4. Базы данных и язык sql
- •Реляционные субд Модель данных в реляционных субд
- •Нормализация модели данных
- •Язык sql
- •Команды sql
- •Команды определения структуры данных (DataDefinitionLanguage–ddl)
- •Команды манипулирования данными (Data Manipulation Language – dml)
- •Команды управления транзакциями (TransactionControlLanguage-tcl)
- •Команды управления доступом (DataControlLanguage–dcl)
- •Работа с командами sql Извлечение данных, команда select
- •Ключевое слово distinct
- •Секция from, логическое связывание таблиц
- •Секция where
- •Секция orderby
- •Групповые функции
- •Секция group by
- •Секция having
- •Изменение данных
- •Команда insert
- •Команда delete
- •Команда update
- •Определение структуры данных Команда createtable
- •Команда altertable
- •Курсовая работа №2. Проекты сайтов
- •Курсовая работа №3. Технологии разработки Веб – приложений Проекты сайтов
- •Перечень заданий
Копирование: метод cloneNode()
В качестве параметра можно указать, должны ли копироваться все дочерние узлы, по умолчанию значение параметра false. Если оно равно false, то копируется только тот узел, который активизирует метод.
Если мы хотим скопировать некоторый узел вместе со всеми его атрибутами, то надо воспользоваться методом cloneNode(true). Например, строка кода:
var oClone = oList.cloneNode(true)
копирует в память всю ветвь дерева, начинающуюся на узле oList, то есть весь список целиком. Метод возвращает ссылку на копию узла.
Удаление и замена узлов в документе
Метод replaceChild()позволяет у узла, который его активизирует, заменить одного из его деток на нового. Ссылку на новый и на заменяемый узлы метод принимает в качестве первого и второго параметров, соответственно. Так, следующий фрагмент сценария
var oItem = document.createElement("LI")
oItem.appendChild(document.createTextNode("JScript"))
oList.replaceChild(oItem, oList.lastChild)
создает сначала элемент списка с текстом "JScript", а затем заменяет им последний элемент нашего списка. Метод возвращает ссылку на вставленный в документ узел.
Теперь наш список выглядит так:
<UL ID="components">
<LI>HTML</LI>
<LI>CSS</LI>
<LI>JScript</LI>
</UL>
Конечно, описанный выше пример надо рассматривать только как иллюстративный, поскольку тот же результат можно получить гораздо проще:
oList.lastChild.firstChild.nodeValue= "JScript"
Удаление: методы removeChild()и removeNode()
Метод removeChild() позволяет у узла удалить одного из его потомков. Ссылку на удаляемый узел метод принимает в качестве параметра. Например, строка кода
var oRemovedItem = oList.removeChild(oList.lastChild)
удаляет из списка последний элемент. Метод возвращает ссылку на удаляемый им узел. Поскольку удаленный из документа узел остается в памяти, мы можем в дальнейшем работать с ним, используя эту ссылку. Еще один метод заменяет узел oldChild на newChild.
currentNode.replaceChild(newChild, oldChild)
Если мы хотим удалить некоторый узел из документа, то надо воспользоваться методом removeNode(). Этот метод не входит в список рекомендуемых W3C, но поддерживается браузерами. В качестве параметра метод принимает выражение типа Boolean. Если оно равно false, то удаляется только тот узел, который активизировал метод. При этом, идущая от него ветвь дерева присоединяется к его родительскому узлу. Если параметр метода равен true, то узел удаляется вместе со всеми своими потомками. Например, строка кода удаляет из документа весь наш список целиком.
var oRemovedList = oList.removeNode(true)
Метод removeNode() возвращает ссылку на удаляемый узел. Поскольку удаленный из документа узел остается в памяти, мы можем в дальнейшем работать с ним.
Использование каскадных таблиц стилей в dom
Каждый узел DOM имеет объект style, который описывает применяемые стили. Например, можно изменить цвет шрифта элемента "samplePtag", document.getElementById("samplePtag").style.color = «red».
Более подробно обо всех свойствах можно узнать в спецификации CSS (http://www.w3.org/Style/CSS/#specs).
Свойство элемента innerHtml и outerHtml
Хотя свойства innerHTML и outerHTML не являются официально поддерживаемыми стандартами, однако они поддерживаются практически всеми современными браузерами.
Свойство innerHTML содержит HTML-код между открывающим и закрывающим тегом. С помощью этого свойства можно работать с кодом внутри тега, как со строкой – считывать и записывать. Однако для следующей группы элементов это свойство доступно только для чтения: COL, COLGROUP, HTML, STYLE, TABLE, THEAD, TITLE, TR. Свойство innerHTML не существует у элементов, которые не имеют одновременно открывающего и закрывающего тега (например <br>).
Отличие свойства outerHTML в том, что это свойство включает в себя HTML-код между открывающим и закрывающим тегом, а также открывающий и закрывающий тег этого элемента.
Для следующих элементов это свойство доступно только при чтении: CAPTION, COL, COLGROUP, HTML, TBODY, TD, TH, THEAD, TR. Свойство outerHTML доступно для записи только после того, как весь документ будет загружен, т.е. произойдет событие window.onload.
В качестве иллюстрации ниже приведен пример использования свойства outerHTML. Когда пользователь щелкает по кнопке передачи формы на сервер, вместо кнопки появляется сообщение с благодарностью:
<INPUT TYPE="submit" VALUE="Отправить"
onClick="this.outerHTML='Благодарим Вас за участие в нашем опросе.'">
А вот как это же действие можно реализовать, используя только средства W3C DOM:
<INPUT TYPE="submit" VALUE="Отправить"
onClick="replaceButton(this)">
<script type="text/javascript">
function replaceButton(oButton) {
var oText = document.createTextNode("Благодарим Вас за участие в нашем опросе.")
var oParent = oButton.parentNode
oParent.replaceChild(oParagraph,oButton)
}
</script>
Ниже приведен пример использования свойств innerHTML и outerHTML:
<!-- пример pr31: использование свойств -->
<html><head>
<script type="text/javascript">
function transformBody() {
var myPar = document.getElementById("myP");
myP.innerHTML = "<i>Hello, World!</i>";
myP.outerHTML = "<strong>" + myP.innerHTML
+ "</strong>";
}
</script>
</head>
<body onload="transformBody();">
<p id="myP">sample text</p>
</body>
</html>
<!-- после выполнения функции структура элемента body будет:
<BODY><STRONG><I>Hello, World!</I></STRONG></BODY>
-->