РОБОТА З ФОРМАМИ
Значення змінних можна передавати між різними сторінками сайту - за допомогою використання форм. Формою називається конструкція, що складається з пойменованих елементів особливих типів, увязнених між HTML-тэгами <form...> n</form>. Як елементи форми можуть виступати поля введення тексту, кнопки, випадні меню, перемикачі, квадратики для відмітки галочкою -checkbox'bi, а також картинки формату jpg або gif. Кожен елемент форми може мати своє ім'я.
Найбільш важливою властивістю форми є те, що в її заголовку у відкриваючому тегу <f orm...> можна вказати адресу якого-небудь файлу. В цьому випадку при завантаженні цього файлу в програмний код, якщо він буде там присутній, передадуться значення всіх змінних, встановлених в цій формі, зокрема, значення всіх елементів форми, неначебто ці значення були встановлені в програмі, розташованій в самому завантажуваному файлі. Таким чином можна передавати значення змінних між різними web-страницами, використовуючи їх в програмному коді.
У всіх версіях РНР імена передаваних змінних відповідають тим іменам, які були дани елементам форми в їх тегах, а значення - відповідно значенням цих елементів (якщо в конфігураційному файлі РНР - php.ini - параметр regis-ter_globals встановлений в on.): для поля введення тексту - введеному тексту, для перемикача або checkbox'a - True при відміченому і False при невідміченому, для малюнка - координати покажчика миші відносно верхнього лівого кута зображення, для випадного меню (елемент <select пате="імя"><орtion value="textl">text</option>...</select>) - значення параметра value вибраного пункту option.
Крім того, змінні, передавані через форму, поміщаються в асоціативні масиви $HTTP_POST_VARS і $HTTP_GET_VARS (якщо в конфігурагцюнном файлі РНР - php.ini - параметр track_vars встановлений в on) з іменами елементів, відповідними іменам змінних (тобто вміст поля введення тексту <input type=text name=qwerty
size=3 0> виявиться в елементі $HTTP_POST_VARS['qwerty']). SHTTPPOSTVARS містить змінні, передані за допомогою методу POST (метод вказується в заголовку форми), а $HTTP_GET_VARS - методу GET. Відмінність між методами полягає в тому, що при передачі даних методом GET ці дані відображуються в адресному рядку браузера, а при використанні методу POST - ні.
Починаючи з РНР версії 4.1, передавані через форму змінні поміщаються ще і в масиви SPOST і SGET. Відмінність цих масивів від попередніх полягає в тому, що їх змінні доступні ще і у всіх функціях, розташованих в програмі РНР, тобто вони є глобальними. |