Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание хранилища (репозитория) SVN. Импорт данных в хранилище.



КЫРГЫЗСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. И.Раззакова

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

 

 

Кафедра «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРНЫХ

СИСТЕМ»

 

Система контроля версий

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

 

Для студентов специализации 710400

«Программная инженерия»

 

 

Бишкек - 2013

 

 

РАССМОТРЕНО ОДОБРЕНО

На заседании кафедры Методическим советом ФИТ

«Программное обеспечение

компьютерных систем»

Прот.№8 от 07.02.2013г. Прот. №7 от 21.03.2013г.

 

УДК 004.45

Составитель - Сабаева К.К.

Система контроля версий: методические указания к выполнению лабораторных работ /Кырг. техн. ун-т, Бишкек, 2013, 48 с.

Представлены задания на разработку программ по дисциплине “Система контроля версий”, приведены общие указания к программированию, приведены задания для лабораторных работ.

 

Предназначено для студентов специальности 710400 «Программная инженерия» (профиль: Технология разработки программного обеспечения) всех форм обучения.

 

Библиогр. 4 названий.

 

Рецензент: декан ФИТ, проф. Салиев А.Б.

 

Оглавление

Введение. 4

Лабораторная работа №1

Создание хранилища (репозитория) SVN. Импорт данных в хранилище. 7

Указания к выполнению.. 8

Лабораторная работа №2

Работа с визуальным сервером Visual SVN и Tortoise SVN. 16

Указания к выполнению.. 16

Лабораторная работа №3

Первый совместный проект. 21

Лабораторная работа №4

Основы PHP. 22

Указания к выполнению.. 22

Лабораторная работа №5

Создание формы в PHP с помощью системы контроля версий. 26

Указание к выполнению. 33

Лабораторная работа № 6

Создания приложения и настройка системы контроля версий в Microsoft Visual Studio 2010. 37

Указание к выполнению. 37

Литература. 48

 

Введение

Управление версиями - это искусство управления изменениями информации.

Каждый программист сталкивался с проблемой хранения многих версий одних и тех же файлов или проектов целиком. Сама профессия программиста к этому располагает: разработка программного проекта обычно занимает продолжительное время и в большинстве случаев является итерационной. В связи с чем возникает необходимость хранить старые либо стабильные версии проекта доступные клиентам, а текущую работу выполнять над рабочей версией, которая обычно редко бывает в состоянии, полностью пригодном для использования.

Иногда задача усложняется: если в последней стабильной версии была обнаружена критическая ошибка, требующая немедленного устранения, а текущая рабочая версия к немедленному выпуску не готова, то необходимо открыть старые исходники, внести исправления там и, естественно, продублировать исправление в новых, если они также содержат эту ошибку. Так появляются ответвления, которые также нужно хранить отдельно.

Если же разработка ведется командой, то обойдись без специализированной системы управления версиями файлов практически невозможно: затраты времени и труда на согласование изменений, поиск необходимых версий и устранение конфликтов в одновременно измененных разработчиками файлах будут настолько велики, и их рост будет продолжаться быстрыми темпами при увеличении размера команды, что они просто станут основным препятствием на пути проекта.

Понятно, что если проблема существует, то должно существовать ее решение. Наверное, каждый программист слышал о системах контроля версий, которые как раз и предназначены для ее решения.

Под системой контроля версий понимается механизм сохранения промежуточных состояний кода разрабатываемого программного обеспечения. То есть с помощью этой системы программист может управлять своими файлами во времени: смотреть историю изменений файлов и каталогов, возвращаться к более ранним версиям кода, объединять несколько версий файла. Основной областью применения контроля версий является коллективная разработка чего-либо (чаще всего это программы, но область применения программированием не ограничивается). Однако и для разработчика-одиночки контроль версий может быть полезен.

 

При разработке более-менее крупных проектов мы можем столкнуться с рядом трудностей, например:

  1. Изменяем код, а потом хотим откатить изменения. Каждую версию можно сохранять в отдельную папку, но со временем станет сложно управляться с большим количеством файлов.
  2. Если над программой работает сразу несколько человек, было бы неплохо автоматизировать процесс объединения сделанных ими изменений.

Для решения этих проблем удобно использовать системы контроля версий, например Subversion (SVN).

Subversion (SVN) - одна из наиболее известных систем версионного управления исходным кодом. Применяется во многих Open Source проектах. Подобные системы позволяют узнать, кто, когда и как именно вносил изменения в файлы проекта. Все это значительно облегчает групповую разработку ПО.

Обычно система контроля версий состоит из двух частей:

Сервер, или репозиторий — где хранятся все исходные коды программы, а также история их изменения.

Клиент. Каждый клиент имеет свою локальную копию (working copy) исходных кодов, с которой работает разработчик.

В связи с тем, что разработчики работают только с локальными копиями, могут возникать трудности, когда два и более человек изменяют один и тот же файл.

В системе контроля версий есть две модели, которые позволяют избегать этой проблемы:

Блокировка — изменение — разблокировка.
Согласно этой модели, когда кто-либо начинает работу с файлом, этот файл блокируется, и все остальные пользователи теряют возможность его редактирования. Очевидным недостатком такой модели является то, что файлы могут оказаться надолго заблокированными, что приводит к простоям в разработке проекта.

Копирование — изменение — слияние.
В данной модели каждый разработчик свободно редактирует свою локальную копию файлов, после чего выполняется слияние изменений.
Недостаток этой модели в том, что может возникать необходимость разрешения конфликтов между изменениями файла.

Данное пособие предназначено для студентов первого курса специальности «Программная инженерия» по дисциплине «Система контроля версии». Целью выполнения лабораторных работ является:

· уметь создавать репозиторию;

· отслеживать противоречащих друг другу изменений;

· работать в команде.

В работе представлено 6 лабораторных работ с кратким описанием рекомендаций к их выполнению.

Каждая лабораторная работа, представленная в методическом пособии, должна быть реализована на компьютере. При этом группа студентов представляют отчет, отвечающий всем требованиям, представленным в задании.

Студент не допускается к сдаче модуля в случае, если он не выполнил все лабораторные работы, представленные в данном пособии.

 

Лабораторная работа №1.

Создание хранилища (репозитория) SVN. Импорт данных в хранилище.

Цель: Получить опыт практической работы с системой контроля версий на примере Tortoise SVN.

Общие теоретические сведения

Вначале желательно определиться, как вы будете располагать проекты в репозитории: либо хранить несколько проектов в одном репозитории, либо создавать отдельные репозитории для каждого проекта. Это влияет на способ управления проектами, и нужно учитывать некоторые особенности каждого варианта (к примеру, номер ревизии является общим для всех проектов внутри одного репозитория). В нашем примере это не имеет значения, т.к. проект один, поэтому создадим отдельный репозиторий.

Получение информации о статусе

При работе с рабочей копией, вам часто надо понять, какие файлы вы заменили, /добавили, /удалили или переименовали, или же какие из файлов были изменены и зафиксированы другими.

Пометки на значках

Теперь, после извлечения рабочей копии из хранилища Subversion, вы можете заметить, что значки в Проводнике Windows немного изменились, и это одна из причин такой популярности TortoiseSVN. TortoiseSVN добавляет так называемую пометку на значке для каждого файла, которая накладывается на исходный значок файла. Пометки различаются и зависят от статуса файла в Subversion.

В свежо извлечённой рабочей копии все пометки выглядят как зеленая галочка. Это означает, что статус Subversion – нормальный

Как только вы начнете редактировать файл, статус поменяется на изменено и пометка станет выглядеть как красный восклицательный знак. Таким образом, вы можете легко увидеть, какие файлы были изменены с момента последнего обновления вашей рабочей копии и нуждаются в фиксации.

Если в процессе обновления возник конфликт, тогда пометка меняется на желтый восклицательный знак.

Если вы установили для файла свойство svn: needs-lock, Subversion помечает этот файл как доступный только для чтения, пока вы не получите блокировку для этого файла. Эта пометка на файлах означает, что вы должны заблокировать файл перед тем, как начнёте его редактировать.

Если вы владеете блокировкой на файл, и его статус в Subversion нормальный, эта пометка напомнит вам, что вы должны разблокировать файл, если вы его не используете, чтобы и другие могли зафиксировать свои изменения в этом файле.

Эта пометка показывает, что некоторые файлы или папки внутри текущей папки запланированы

для удаления из-под управления версиями, или же что файл, находящийся под управлением версиями, в папке отсутствует.

Символ плюс сообщает о том, что файл или папка запланированы для добавления под управление версиями.

Минус говорит о том, что файл или папка игнорируется системой управления версиями. Это необязательная пометка.

Этот значок предназначен для файлов, которые не находятся под управлением версиями, но в то же время не являются игнорируемыми. Это необязательная пометка.

 

Указания к выполнению

Задание №1.

1. Создание хранилища (репозитория) SVN

1.1. На одном из локальных дисков создайте папку, в которой в дальнейшем будет находится репозиторий SVN для проекта. Лучше, чтобы эта папка находилась на достаточно надежном носителе. Пусть это будет папка E: \MyRepository\MyProject.

1.2. Нажмите правой кнопкой мыши на созданной папке и выберите команду TortoiseSVN\Create repository here.

Рис 1. Создание репозитория.

1.3. Появится окно с сообщением, что репозиторий успешно создан. После чего нажмите кнопку ОК.

Рис 2. Окно сообщения об успешном создании хранилище.

1.4. Далее появятся файлы как показано ниже на рисунке:

Рис 3. Структура репозитория.

Примечание: Хранилище будет создано внутри новой папки. Не редактируйте эти файлы самостоятельно!!! В случае возникновения ошибок убедитесь, что папка пуста и доступна для записи.

 

Импорт данных в хранилище

Предполагая, что хранилище уже у вас есть, и вы желаете добавить в него новую папку со всей её структурой, просто выполните следующие шаги:

 

2.1. При помощи обозревателя хранилища (TortoiseSVNRepo-browser) создайте новую папку проекта под именем 123 непосредственно в хранилище.

 

Рис.4 Обозреватель хранилища

2.2. Откройте общий доступ хранилище вкладе Доступ пометив флажком в Открыть общий доступ к этой папке и Разрешить изменение файлов в сети.

Рис.5 Открытие общего доступа к репозиторий.

Извлечение рабочей копии

3.1. Для получения рабочей копии вам надо произвести извлечение из хранилища. Выберите в Проводнике Windows папку, в которой хотите поместить вашу рабочую копию. Сделайте правый щелчок для вызова контекстного меню и выберите команду TortoiseSVN -> Извлечь..., (TortoiseSVN → Checkout..., )

Рис.6 Меню для извлечения рабочей копии.

3.2. Появившемся диалоговом окне Checkout в поле URL of Repository вставьте путь к репозиторий и нажимаем ОК, далее еще раз нажимаете ОК. Для того что вставить выделите репозиторий – папку и с помощью правой кнопки мыши откройте обозревателя хранилища (TortoiseSVNRepo-browser) в поле URL скопируйте путь. В поле Checkout directory автоматически появляется путь к рабочей копии, т.е. к папке.

Рис.7 Путь к репозиторий.

3.3. Выделите рабочую копию, т.е. папку под именем 123 и нажмите F5, либо правой кнопкой мыши нажмите обновить.

Рис.8 Свежо извлечённая рабочая копия.

3.4. Повторите действия 3.1 -3.3 для рабочей копии 1234.

Задание №2.

1. Аналогично проделать те же действие, но проделав эти же действие на двух разных компьютерах.

2. В одном компьютере например, комп1 создаете репозиторию и одну рабочую копию, т.е. папку под именем 123.

3. Во втором компьютере например, комп2 создаете только рабочую копию, т.е. папку под именем 1234.

4. Во втором компьютере соедините рабочую копию с репозиторием указывая путь file: ///ip-компьютера/название_репозитория.

5. В комп1 создайте любой файл и отправьте его на комп2. Таким образом проделав 5 ревизий.

6. Чтобы узнать IP- компьютера нажмите пуск → выполнить→ cmd, либо C: \Windows\System32\cmd.exe /k %windir%\system32\ipconfig.exe

7. Откроется окно командой строки. Введите ipconfig, где вы увидите примерное IP- компьютера: 192.168.8.xxx.

Контрольные вопросы.

1 Что такое Хранилище (Repository)?

2 Что такое Рабочая копия (Working Copy)?

3 Что такое версия?

4 Понятия управления контроля версиями, применение контроля версий.

5 Чем помогают системы контроля версий типа SVN?

Лабораторная работа №2.

Указания к выполнению

1. Запустите Visual SVN сервер и щелкните на значок объекта , правой кнопкой мыши выберите Properties.

2. В диалоговом окне войдите в вкладу Network и поменяйте порт с 443 на 8443, после чего нажмите кнопку ОК.

3. Щелкните правой кнопкой мыши на репозиторий и выберите «Create New Repository…» (Создать новое хранилище). Как показано на рисунке ниже (Рис. 1).

Рис.13 Создание хранилища

4. В появившемся диалоговом окне задайте имя создаваемой репозиторий и поставьте галочку в Create default structure (trunk, branches, tags) после чего нажмите кнопку ОК. В результате появится новый репозиторий с указанным вами именем.

 

Рис.14.Название репозитория и URL (Пусть).

5. В объекте Users правой кнопкой мыши выберите команду Create User . В появившемся окне вам нужно будет указать имя пользователя и пароль, после чего нажмите кнопку ОК.

Рис.15 Окно аудентификаций.

6. В созданной новой репозиторий правой кнопкой мыши выберите команду Все задачи -> Manage Security…

Рис.16 Управление Безопасностью.

7. В появившемся диалоговом окне выберите вкладку Security и нажмите кнопку Add, и вы увидите список всех пользователей системы.

Рис.17 Список пользователей

8. Выберите пользователя, которого вы хотите добавить и нажмите OK. Вы сможете увидеть созданную вами пользователя User в группе пользователей, которым разрешен доступ к репозиторию. После чего нажмите кнопку Применить.

Рис.18 Аутентификация различных пользователей

9. В созданную репозиторию щелкните правой кнопкой и нажмите на Copy URL to Clipboard. Так вы можете получить URL из визуального сервера SVN окно диспетчера.

Рис.19 URL из визуального сервера SVN

Примечание: Для Windows все просто. Если это VisualSVN, то репозитории создаются довольно просто. Доступ к архивам может быть по следующим протоколам:
file: /// — прямой доступ к хранилищу (на локальном диске)
http: // — доступ через протокол WebDAV (если Subversion-сервер работает через Apache)
https: // — то же, что и http: //, но с SSL-шифрованием (Через Интернет).
svn: // — доступ через собственный протокол к серверу.

Если вы пытаетесь подключиться к удаленному серверу, вы должны ввести следующую, когда попросят адрес репозитория: https: // IP Сервера / SVN / наименование репозитория (Например, Рис-11). Вы должны получить те же результаты.

10. Создайте на рабочем столе папку под именем User1. После того как вы создали папку, нажмите правой кнопкой мыши и выберите из контекстного меню " SVN Checkout...".

11. В появившемся диалоговом окне в поле со списком URL of repository выполните следующую командой ctrl+v, чтобы вставить скопированную путь к репозиторий. В поле Checkout directory с тремя точками (... ) появится путь к рабочей копии, т.е. к папке на рабочем столе. После нажмите кнопку ОК.

12. Откроется диалоговое окно Authentication.

13. В поле Username введите имя пользователя ранее созданного, а поле Password введите пароль данного пользователя.

 

Рис.20 Диалоговое окно аутентификаций.

 

14. В папке создайте текстовый файл.

15. Откройте текстовый файл. В первой строке введите Привет!!! под первым пользователем и сохраните.

16. Выполните следующую команду TortoiseSVN → Commit....

17. Создайте новую папку под именем User2 для второго пользователя.

18. Повторите действия 5-8 для того чтобы создать второго пользователя.

19. Повторите действия 9-13 для второго пользователя, того чтобы соединить рабочую копию с репозиторием.

20. Под вторым пользователем во второй строке полученного текстового файла введите Как дела? и сохраните.

21. Выполните следующую команду TortoiseSVN → Commit....

22. Щелкните на папку по именем User1 и выполните команду из контекстного меню TortoiseSVN → Update.

 

Контрольные вопросы.

1. Какие команды вы знаете?

2. Что такое базовая ревизия (Base)?

3. Что такое ведущая ревизия (head)?

4. Для чего используется авторство (Blame)?

5. Что такой конфликт и когда они возникают?

 

 

Лабораторная работа №3

Первый совместный проект.

Цель работы: Ознакомиться с принципами контроля версий для Windows и научится работать в команде.

Указания к выполнению

1. Создайте любую веб-страницу и в команде трех человек и подготовите отчет.

2. Веб – страница должна содержать рисунки, тексты, кнопки для открытия соответствующую страницу, ссылки и т.д.

3. Осуществить откат к старой версии выложенного в репозиторий проекта.

4. Удалить локальную копию проекта и скачать последнюю версию из репозитория.

5. Отчет должен быть оформлен в виде скриншота. Показать в отчете принципы работы с программой и описать детально.

6. Просмотрите содержимое хранилищ с соседних виртуальных машин локальной сети и убедитесь в их ожидаемом состоянии.

Лабораторная работа №4

Основы PHP

Цель работы: является изучение основных возможностей языка программирования PHP с помощью системой контроля версий Tortoise SVN.

Указания к выполнению

1. На рабочем столе должны быть 3 ярлычка:

Рис.21 Ярлыки денвера.

2. Запустите Денвер, воспользовавшись ярлыком Start Denwer на Рабочем столе. Если вы не создавали ярлыки, то можно запустить Денвер по команде C: \WebServers/denwer\Run.exe. После чего вы должны увидеть главную страницу Денвера.

Рис.21 Главная страница денвера.

Примечание: Если после запуска Денвера http: //localhost если не открывается, проверьте, не блокируется ли Денвер вашим антивирусом или фаерволом. Например, были замечены проблемы с NOD32 в Windows XP (в нем нужно добавить процесс Z: /usr/local/apache/bin/httpd.exe в список исключений, это можно сделать в окне MON/Настройка/Разное/Исключение).

3. Запустите программу Adobe Dreamweaver.

4. Выберите пункты меню Веб-сайт - Управление веб-сайтами.

Откроется диалоговое окно «Управление сайтами». В нем нажмите кнопку «Создать». Откроется окно настройки сайта. На вкладке Дополнительно окна настройки сайта введите:

• имя сайта: «MyFirstSite»;

• укажите путь к локальной коневой папке его расположения:

C: \WebServers\home\localhost\www\

5. URL-адрес: http: //localhost

6. В том же окне перейдите на вкладку Дополнительно:

• В разделе Удаленный сервер установите галочку напротив пункта

«Сохранить сведения о синхронизации».

• В разделе Тестовый сервер из выпадающего меню Серверная модель

выберите PHP MySQL.

7. Сохраните параметры. Обратите внимание, что в окне «Настройка сайта» на вкладке Серверы должны стоять два флага для localhost: Удаленный и Тестовый (если их нет - поставьте их самостоятельно).

8. В окне Управление сайтами появится имя созданного проекта сайта «MyFirstSite». Нажмите кнопку Готово. Для корректировки, удаления и других операций с проектом сайта используйте соответствующие кнопки управления в данном окне (рис.22 ).

 

 

 
Рис.22 Окно управления проектом сайта.

10. Создайте в программе Adobe Dreamweaver новую страницу ( Файл Создать. Выберите тип страницы PHP).

11. Введите следующий PHP-код:

Сохраните сценарий в папку сайта под именем hello.php.

12. Проверьте результат в браузере (F12).

Примечание:

При просмотре результата выполнения файла hello.php в браузере просмотрите html-код (например, в IE меню Вид Просмотр HTML-кода ). Обратите внимание на то, что php-кода на странице нет – это значит, что php- сценарий был обработан сервером, после чего сервер передал в браузер результат обработанного php-сценария.

 

Задание №1

Создайте PHP файл, который должен выглядеть следующим образом:

Текстовый файл N 1 СПИСОК Дисциплины на первом курсе: Математика История Программирование и так далее. Дисциплины на втором курсе: Дисциплины на третьем курсе:

Задание №2

 

- Напишите конструкцию if, которая выводит фразу: " Вам ещё работать и работать" при условии, что значение переменной $age попадает в диапазон чисел от 18 до 59(включительно)

 

- Расширьте конструкцию if, выводя фразу: " Вам пора на пенсию" при условии, что значение переменной $age больше 59

 

- Расширьте конструкцию if-else, выводя фразу: " Вам ещё рано работать" при условии, что значение переменной $age попадает в диапазон чисел от 1 до 17(включительно)

 

- Дополните конструкцию if-elseif, выводя фразу: " Неизвестный возраст" при условии, что значение переменной $age не попадает в вышеописанные диапазоны чисел

Контрольные вопросы.

1. Для чего предназначена система контроля версиями SVN

2. От чего избавляет система контроля версиями SVN? Приведите пример.

3. Как обозначают переменные в PHP?

4. Какие операторы вывода в PHP вы знаете?

5. Что такое блокировка и для чего ее используют?

 

 

Лабораторная работа №5

Общие сведения о формах

Ввод информации в основном реализуется с применением форм HTML. Несомненно, вы хорошо знакомы с принципами работы форм HTML. Как правило, пользователь заполняет в форме одно или несколько полей, нажимает кнопку отправки данных, после чего получает ответное сообщение.

При вводе данных в форму используются различные управляющие элементы. В одних элементах пользователь вводит информацию с клавиатуры, в других он выбирает нужный вариант, щелкая кнопкой мыши. В формах могут присутствовать скрытые поля, которые поддерживаются самой формой; содержимое скрытых полей не должно изменяться пользователем.

Одна страница может содержать несколько форм, поэтому необходимы средства, которые позволяли бы отличить одну форму от другой. Более того, вы должны как-то сообщить форме, куда следует перейти, когда пользователь выполняет действие с формой (как правило, нажимает кнопку отправки данных). Обе задачи решаются заключением форм в следующие теги HTML:

< form action = действие method = " метод" - элементы формы -< /form>

Как видно из приведенного фрагмента, в тегах форм указываются два важных элемента: действие и метод. Действие указывает, какой сценарий должен обрабатывать форму, а метод определяет способ передачи данных этому сценарию. Существует два метода:

  • Метод get передает все данные формы в конце URL. Из-за различных ограничений, связанных со спецификой языков и длиной данных, этот метод применяется редко.
  • Метод post передает все данные формы в теле запроса. Этот метод используется чаще, чем get.

Текстовое поле

В текстовых полях обычно вводится короткая текстовая информация -- скажем, адрес электронной почты, почтовый адрес или имя. Синтаксис определения текстового поля:

< input type=" text" nате=" имя_переменной" size=" N" maxlength=" N" value=" " >

Определение текстового поля включает пять атрибутов:

  • type -- тип элемента (для текстовых полей -- text);
  • name -- имя переменной, в которой сохраняются введенные данные;
  • size -- общий размер текстового поля в браузере;
  • maxlength -- максимальное количество символов, вводимых в текстовом поле;
  • value -- значение, отображаемое в текстовом поле по умолчанию.

Текстовое поле изображено на рис. 10.1.

Рис.23 Текстовое поле

Особой разновидностью текстовых полей является поле для ввода паролей. Оно работает точно так же, как обычное текстовое поле, однако вводимые символы заменяются звездочками. Чтобы создать в форме поле для ввода паролей, достаточно указать type=" password" вместо type=" text".

Текстовая область

Текстовая область (text area) используется для ввода несколько больших объемов текста, не ограничивающихся простым именем или адресом электронной почты. Синтаксис определения текстовой области:

< textarea name=" имя_переменной" rows=" N" cols=" N" value=" " > < /textarea>

Определение текстового поля включает три атрибута:

  • name -- имя переменной, в которой сохраняются введенные данные;
  • rows -- количество строк в текстовой области;
  • cols -- количество столбцов в текстовой области.

Текстовая область изображена на рис. 10.2.

Рис.24 Текстовая область

Флажок

Флажки (checkboxes) используются в ситуациях, когда пользователь выбирает один или несколько вариантов из готового набора -- по аналогии с тем, как ставятся «галочки» в анкетах. Синтаксис определения флажка:

< input type=" checkbox" name=" имя_переменной" valuе=" начальное_значение" >

Определение флажка включает три атрибута:

  • type -- тип элемента (для флажков -- checkbox);
  • name -- имя переменной, в которой сохраняются введенные данные (в данном случае -- состояние элемента);
  • value -- значение, присваиваемое переменной по умолчанию. Если флажок установлен, именно это значение будет присвоено переменной с указанным именем. Если флажок не установлен, значение атрибута value не используется.

Флажок изображен на рис. 10.3.

Рис.25 Флажок

Переключатель

Переключатель (radio button) представляет собой разновидность флажка; он работает практически так же за одним исключением -- в любой момент времени в группе может быть установлен лишь один переключатель. Синтаксис определения переключателя:

< input type=" radio" name=" имя_переменной" value=" начальное_значение" >

Как видите, синтаксис почти не отличается от определения флажка. Определение переключателя поля включает три атрибута:

  • type -- тип элемента (для переключателей -- radio);
  • name -- имя переменной, в которой сохраняются введенные данные (в данном случае -- состояние элемента);
  • value -- значение, присваиваемое переменной по умолчанию. Если переключатель установлен, именно это значение будет присвоено переменной с указанным именем. Если флажок не установлен, значение атрибута value не используется.

Переключатель изображен на рис. 10.4.

Рис.26 Переключатель

Раскрывающийся список

Раскрывающиеся списки особенно удобны в ситуации, когда у вас имеется длинный перечень допустимых вариантов, из которого пользователь должен выбрать один вариант. Как правило, раскрывающиеся списки применяются при работе с относительно большими наборами данных -- например, при перечислении американских штатов или стран. Синтаксис определения раскрывающегося списка:

< select name=" имя_переменной" >

< option valuе=" имя_переменной1 " >

< option value=" имя_переменной2" >

< option value=" имя_переменнойЗ" >

< option value=" имя_переменнойN" >

< /select>

Определение переключателя поля включает три атрибута:

  • name -- имя переменной, в которой сохраняются введенные данные (в данном случае -- строка, выбранная в списке);
  • value -- значение, отображаемое в списке по умолчанию.

Раскрывающийся список изображен на рис. 10.5.

Рис.27 Раскрывающийся список

Скрытые поля

Скрытые поля не отображаются в браузере и обычно используются для передачи данных между сценариями. Хотя передача в скрытых полях работает вполне нормально, в PHP существует другое, более удобное средство -- сеансовые переменные. Впрочем, скрытые поля также используются в некоторых ситуациях и потому заслуживают упоминания.

Синтаксис определения скрытого поля практически идентичен синтаксису текстовых полей, отличается только атрибут типа. Поскольку скрытые поля не отображаются в браузере, привести пример на страницах книги невозможно. Синтаксис определения скрытого поля:

< input type=" hidden" name=" имя_переменной" value=" начальное_значение" >

Определение скрытого поля включает три атрибута:

  • type -- тип элемента (для скрытых полей -- hidden);
  • name -- имя переменной, в которой сохраняются скрытые данные;
  • value -- значение, по умолчанию сохраняемое в скрытом поле.

Вообще говоря, название этого элемента -- скрытое поле -- несколько неточно. Хотя скрытые поля не отображаются в браузерах, пользователь может просто выполнить команду View Source и увидеть, какие скрытые значения хранятся в форме.

Кнопка отправки данных

Кнопка отправки данных инициирует действие, заданное атрибутом action тега < form>. Синтаксис определения:

< input type=" submit" value=" текст_на_кнопке" >

Определение кнопки включает два атрибута:

  • type -- тип элемента (для кнопки отправки данных -- submit);
  • value -- текст, по умолчанию отображаемый на кнопке.

Рис.28Кнопка отправки данных

Кнопка сброса

Кнопка сброса отменяет все изменения, внесенные в элементы формы. Синтаксис определения:

< input type=" reset" value =" текст _на_кнопке" >

Определение кнопки включает два атрибута:

  • type -- тип элемента (для кнопки сброса -- reset);
  • value -- текст, по умолчанию отображаемый на кнопке.

Кнопка сброса выглядит точно так же, как и кнопка отправки данных, если не считать того, что на ней обычно выводится слово «Reset» (рис. 10.6).

Указание к выполнению.

Основные требования: 1. При разработке сайта должны участвовать не более и не менее 2 человек; 2. Объединяйте разработки указывая адрес сервера.3. Каждый должен подготовить отчет о своей проделанной работе. Задание №1

Создайте форму для сценария калькулятора. Эта форма будет содержать два поля ввода и переключатели для выбора типа расчета.

Разработчик А · Откройте текстовый редактор и введите текст HTML:

< html>
< head>
< title> Форма калькулятора< /title>
< /head>
< body>

· Чтобы начать создание формы методом post и действием, выполняющемся в сценарии calculate.php, введите заголовок формы: < form method = " post" action = " http: //localhost/calculate.php" > Разработчик В
  • Чтобы создать поле ввода с надписью для первой переменной, введите:

< p> Значение 1: < input type=" text" name=" val1" size=10> < /p>

  • Чтобы создать поле ввода с надписью для второй переменной, введите:
Разработчик А

< p> Значение 2: < input type=" text" name=" val2" size=10> < /p>

  • Чтобы создать кнопку с надписью " Вычислить", введите текст:

< p> < input type=" submit" name=" submit" value=" Вычислить" > < /p>

  • Чтобы закрыть форму, введите тэг:

< /form>

  • Введите HTML-тэги, чтобы завершить документ:

< /body>
< /html>

  • Сохраните созданный документ под именем calculate_form.html, скопируйте его в выделенную папку на Web-сервере и выполните его.

В окне браузера находится форма, содержащая поля ввода Значение 1 и Значение 2 и кнопку Вычислить.

При пересылке формы в ваш сценарий будут переданы две переменные - $val1 и $val2, так как именно эти имена являются значениями параметра name, использованного при создании каждого текстового поля. Значениями этих переменных будут значения, введенные пользователем в соответствующие поля формы.

Теперь добавим к уже созданной форме переключатели, состояние которых будет определять тип операции над двумя значениями.

Разработчик В
  • Откройте с помощью текстового редактора, файл calculate_form.html.
  • Перед строкой, задающей параметры кнопки Вычислить, введите следующий фрагмент HTML-кода:

< p> Действие: < br>
< input type=" radio" name=" calc" value=" сложить" > сложить< br>
< input type=" radio" name=" calc" value=" вычесть" > вычесть< br>
< input type=" radio" name=" calc" value=" умножить" > умножить< br>
< input type=" radio" name=" calc" value=" разделить" > рзделить< br>


Поделиться:



Последнее изменение этой страницы: 2017-04-12; Просмотров: 1258; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.223 с.)
Главная | Случайная страница | Обратная связь