Скачать презентацию Мови програмування Лекції 5 -6 Форми в Скачать презентацию Мови програмування Лекції 5 -6 Форми в

Lecture5_MP.ppt

  • Количество слайдов: 37

Мови програмування Лекції 5 -6 Мови програмування Лекції 5 -6

Форми в РНР Веб-програмування, здебільшого, являє собою обробку різних даних, введених користувачем, тобто, обробку Форми в РНР Веб-програмування, здебільшого, являє собою обробку різних даних, введених користувачем, тобто, обробку форм. РНР – мова, що пропонує один з найпростіших способів обробки та розробки форм, що надходять від браузера. Справа у тому, що в мову на найнижчому рівні вбудовані всі необхідні можливості, що дозволяє не задумуватися над особливостями протоколу HTTP.

Передача параметрів сценарію lec_5_f 1. php Передача параметрів сценарію lec_5_f 1. php

Тег INPUT Елемент INPUT є найбільш поширеним тегом, оскільки, за його допомогою реалізуються основні Тег INPUT Елемент INPUT є найбільш поширеним тегом, оскільки, за його допомогою реалізуються основні функції форм. Він дозволяє створювати всередині форми поля вводу рядків, імені файлу, пароля і т. д. Особливість тегу INPUT – він не має закриваючого тегу. Однорядкові поля вводу (lec_5_1. html) Даний тег створює поле вводу з максимально допустимою довжиною тексту maxlen та розміром size знакомісць. Якщо задано атрибут value, то у полі за замовчуванням буде відображатися вказаний рядок. Квадратні дужки вказують необов’язкові атрибути.

Тег INPUT Поле вводу пароля (lec_5_2. html) Будь-який серозний проект передбачає можливість авторизації. Звичайно, Тег INPUT Поле вводу пароля (lec_5_2. html) Будь-який серозний проект передбачає можливість авторизації. Звичайно, ім’я користувача можна ввести за допомогою звичайного текстового поля, але залишається питання, що роботи з паролем. Принцип роботи даного тегу точно такий же, як і текстового. Відмінність полягає у тому, що інформація, яка вводиться у полі не відображається, а замінюється “зірочками”. Не рекомендується встановлювати значення value з міркувань безпеки. Звичайно, у вікні браузера дане значення не відображається, але якщо переглянути HTML–код, то пароль буде відомим.

Тег INPUT Приховане текстове поле lec_5_3. html Для передачі службової інформації (про яку користувач Тег INPUT Приховане текстове поле lec_5_3. html Для передачі службової інформації (про яку користувач навіть не повинен підозрювати) можуть використовуватися приховані поля. За допомогою таких полів, наприклад, можуть передаватися параметри настройки. Такі поля передаються серверу, але на веб-сторінці не відображаються.

Тег INPUT Незалежні перемикачі lec_5_4. html Часто, користувачеві, що заповнює форму в браузері, необхідно Тег INPUT Незалежні перемикачі lec_5_4. html Часто, користувачеві, що заповнює форму в браузері, необхідно надати можливість вказати свої налаштування за допомогою вибору визначених значень. При цьому, приводяться самі ці значення, а поряд з ними розташовується невелике квадратне поле, у якому можна встановити, чи прибрати галочку. Якщо перемикач був ввімкнений на момент натиснення кнопки відправки даних, то сценарію буде передано параметр ім’я=значення. Якщо перемикач вимкнено, то сценарію взагалі нічого не буде передано (ніби перемикач відсутній). Перемикач може за замовчуванням бути ввімкненим, чи вимкненим. Для того, щоб він був ввімкненим вказується атрибут checked. Перемикач checkbox називається незалежним, оскільки, його стан не залежить від стану інших перемикачів checkbox. Таким чином, у одній формі можна одночасно вибрати декілька перемикачів.

Тег INPUT Залежні перемикачі lec_5_5. html Залежний перемикач, як і незалежний, може бути ввімкненим, Тег INPUT Залежні перемикачі lec_5_5. html Залежний перемикач, як і незалежний, може бути ввімкненим, чи вимкненим. При цьому перемикач radio є залежним, оскільки на формі може бути тільки один ввімкнений перемикач типу radio. При виборі одного перемикача всі однойменні залежні перемикачі автоматично вимикаються. У якості імені перемикачів сприймається значення атрибуту name.

Тег INPUT Кнопка відправки форми lec_5_4. html, lec_5_5. html Кнопка відправки слугує для відправки Тег INPUT Кнопка відправки форми lec_5_4. html, lec_5_5. html Кнопка відправки слугує для відправки сценарію введених у форму значень. Його синтаксис наступний: Атрибут value визначає текст, який буде написано на кнопці. Атрибут name визначає ім’я кнопки і є необов’язковим. Якщо значення цього атрибуту не вказувати, то скрипту буде передано введені у форму значення і все. Якщо ж атрибут name для кнопки буде вказано, то додатково до даних форми буде відправлена пара ім’я=значення від самої кнопки.

Тег INPUT Кнопка RESET Окрім кнопки submit є ще кнопка reset, що обнуляє значення Тег INPUT Кнопка RESET Окрім кнопки submit є ще кнопка reset, що обнуляє значення форми – встановлює для всіх елементів форми значення за замовчуванням. Бажано, щоб форма обов’язково містила таку кнопку. Це полегшує обробку даних, якщо було введено помилкові параметри.

Тег INPUT Кнопка відправки з індивідуальним малюнком Замість кнопки submit можна використовувати малюнок для Тег INPUT Кнопка відправки з індивідуальним малюнком Замість кнопки submit можна використовувати малюнок для відправки даних. При натисканні на цьому малюку відбудеться те ж, що при натисканні на кнопку. Однак, крім того, сценарію буде передано координати місця кліку по рисунку. Координати буде передано у форматі: ім’я. х=коор_Х, ім’я. y=коор_Y

Тег TEXTAREA Поле, що створюється тегом TEXTAREA, дозволяє вводити та відправляти не один рядок, Тег TEXTAREA Поле, що створюється тегом TEXTAREA, дозволяє вводити та відправляти не один рядок, а відразу декілька. lec_5_6. html Параметри cols та rows є необов’язковими, однак, їх варто вказувати. Перший з них задає кількість символів у рядку, а другий – кількість рядків у області. Атрибут wrap визначає, як буде виглядати текст у полі вводу. Virtual – справа від текстового поля виводиться смуга прокрутки. Текст, що вводиться користувачем, виглядає розбитим на рядки, а символ нового рядка вставляється при натисканні клавіші Enter. Physical – цей тип залежиться від браузера, у різних браузерах може поводити себе по різному. None – текст виглядає у полі у тому вигляді, у якому користувач його вводить. Якщо текст не поміщається у один рядок, з’являється горизонтальна смуга прокрутки.

Тег SELECT Списки з єдиним вибором lec_5_7. html При роботі з даними у вигляді Тег SELECT Списки з єдиним вибором lec_5_7. html При роботі з даними у вигляді списку потрібно передбачити можливість вибору (тег SELECT). Можна було б використовувати залежні перемикачі radio, але це не є раціональним (єдиний список займає набагато менше місця, аніж перемикачі). Варіанти вибору задаються тегами option. При відправленні форми сценарію буде надіслано значення value вибраного елемента списку. Атрибут name визначає ім’я параметра, котрий буде переданий сценарію. Якщо атрибут size рівний 1, то список буде випадаючим. У іншому випадку список буде займати n рядків та матиме смугу прокрутки. Значення, обране у списку за замовчуванням, можна вказати за допомогою атрибута selected для відповідного тега option. Атрибут value є необов’язковим. Якщо його не вказати, то буде передано рядок, включений у тег option.

Тег SELECT Списки множинного вибору lec_5_8. html За допомогою тегу SELECT можна створювати списки Тег SELECT Списки множинного вибору lec_5_8. html За допомогою тегу SELECT можна створювати списки з множинним вибору. У таких списках можна обирати не один, а відразу декілька значень. Щоб створити список з множинним вибором, необхідно для тегу SELECT вказати атрибут multiple. Якщо користувач обере декілька варіантів, то сценарію будуть передані у формі ім’я=значення&… ім’я=значення

Передача даних Коли користувач натисне кнопку go, браузер передасть сценарію наступні параметри: 1. txt Передача даних Коли користувач натисне кнопку go, браузер передасть сценарію наступні параметри: 1. txt – значення текстового поля 2. pswd – значення поля вводу пароля 3. hid - значення прихованого поля 4. Параметри var 1 та var 2 будуть передані тільки, якщо відповідні їм перемикачі є активними (може бути передане одне з двох значень, обидва значення чи жодне з них) 5. state – значення групи незалежних перемикачів (буде передане одне зі значень – male 6. t-area – вміст текстової області 7. month – значення звичайного списку 8. month[ ] – значення множинного списку.

Передача даних Параметри txt, pswd, hid і t_area обробляється легко. Інтерпретатор створює для кожного Передача даних Параметри txt, pswd, hid і t_area обробляється легко. Інтерпретатор створює для кожного параметра змінну з відповідним іменем. Наприклад, для відображення значення параметра txt достатньо написати echo “$txt”. Для перемикачів var 1 та var 2 ситуація складніша. Якщо перемикач не активний, то параметри взагалі не будуть передані на сервер. Відповідно, не буде створена глобальна змінна і при зверненні до неї ми отримаємо повідомлення, що змінна не існує. Тому, перед командою echo потрібно перевірити, чи існує така змінна. if (isset($var 1)) echo “var 1: $var 1”; if (isset($var 2)) echo “var 1: $var 2”; Параметр state (залежний перемикач) обробляється командою echo $state, оскільки, браузр передає тільки одне із значень. Так же обробляється параметр $month – це звичайний список без можливості множинного вибору, тому, його можна представити як набір з 12 залежних перемикачів.

Передача даних Найскладніше обробляти список з множинним вибором. При стандартному підході змінна $name буде Передача даних Найскладніше обробляти список з множинним вибором. При стандартному підході змінна $name буде містити тільки останнє значення (value. N). Однак, множинний список можна представити у вигляді масиву, а обробити його елементи можна за допомогою циклу foreach. Нам не потрібно навіть знати кількість переданих елементів списку. Попередньо потрібно заявити, що буде передаватися масив.