PHP и формуляри

Не е тайна, че най-честият начин, по който html страница взаимодейства със сайт, е чрез формуляр. Формулярът (т.е. html елементът, образуван от тага form) се използва и от безплатни имейл услуги, онлайн магазини и много други видове сайтове.

Обработката на прости формуляри с PHP е лесна. Въпреки това, от време на време възниква необходимост от обработка на формуляр, съдържащ няколко полета от един и същи тип, въпреки факта, че броят им може да варира в широки граници и броят им не е известен предварително. PHP осигурява за такива случаи обработката на полета от същия тип като масив от стойности. Нека разгледаме по-подробно опциите за различните видове полета.

Текстовите полетав тази статия се отнасят до елементи, създадени от таговеinputсъс стойност на параметър типtextи тагtextarea. Най-лесно е да организирате обработката на формуляр, състоящ се от няколко такива полета. Списъкът по-долу показва HTML маркирането за такъв формуляр.

Както можете да видите от списъка, имената на елементите на формуляра, от гледна точка наPHP, са елементи на масив. Следователно скриптътPHP, който ще обработва този формуляр, ще третира всички много текстови полета на този формуляр като единичен масив. Индивидуалните елементи могат да бъдат индексирани или изброени с помощта на командитеlistиeach, както в следния пример.

ключът е $key, стойността е $val \n"; ?>

Полето за отметка (поле за отметка) в тази статия са елементи, създадени за таговеinputсъс стойност на параметър типполе за отметка. Формата за използване на променлив брой "превключватели" е изградена по абсолютно същия начин. Моля, имайте предвид, че изборът на конкретенстойността на превключвателя (т.е. стойността на свойството стойност) не е важна. Пример е показан в списъка по-долу:

Въпреки това, обработката на този формуляр се различава от обработката, описана за текстови полета. В този случай е необходимо да се определи дали посетителят на сайта е активирал един или друг превключвател. Ако е включен, тогава съответният елемент от масива съществува, ако не, тогава той отсъства. Следният списък е примерен PHP скрипт, който отпечатва активираните радио бутони:

Преди да опишем обработката на радио бутоните, е необходимо да си припомним как работят. Същността на радио бутоните (елементи, създадени от таговеinputсъс стойност на параметъраtype, равна наradio) е, че като избере един бутон, потребителят автоматично премахва избора на друг бутон от същия набор. Бутоните се комбинират в комплект много просто: всички бутони в комплекта имат едно и също име. Но стойностите (т.е. параметритеvalue) на бутоните в комплекта са различни. И стойността на избрания бутон с името на комплекта ще бъде изпратена на сайта. Както при текстовите полета и радио бутоните, имената на наборите от радио бутони трябва да бъдат форматирани като имена на елементи на масив в PHP. Пример за такъв формуляр е показан в следния списък:

ключът е $key, стойността е $val \n"; ?>

Така че няма нищо сложно в обработката на сложни форми.