Формуляри
-
формулярите са един особен вид средство за обмяна на информация между разработчика на сайта и неговите посетители.
Текстови връзки към други файлове :
Общия вид на формулярите е:
<form>
<input type ="стойност"/>
< input type =" стойност " />
< input type =" стойност " />
...
...
...
</form>
Въвеждане на поле за текст във формуляр
-
<input type =" text " />
-
В този случай на страницата ще се изобрази текстово поле, което по подразбиране има дължина 20 символа /тъй като не сме задали изрично дължина на полето/.
- Атрибутите на тага за текст са:
- Атрибута name , който приема като стойност името, което дадете на полето. Например name="Email".
- Атрибута size - дължината на текстовото поле в брой символи (например size ="45" ).
- Чрез атрибута value може да се зададе текст, който да се вижда в текстовото поле преди още потребителя да е въвел някаква информация. Например ако текстовото поле е предназначено да съдържа уеб-адреса на клиента, е уместно да се въведе атрибута value и да му се зададе стойност http ://
- Чрез атрибута maxlenght може да въведете ограничение на броя на изписваните в текстовото поле символи. Например ако зададете maxlenght ="10" в текстовото поле няма да бъде възможно да се въведат повече от 10 символа /букви, цифри и др./.
Пример:
<form>
Вашето име: <input type="text" name="Name" size="45" maxlenght="40" /> <br />
Вашия имейл: <input type="text" name="EmailAddress" size ="45" maxlenght ="40" /><br />
Вашия уеб-адрес: <input type="text" name=" WebAddress " size ="45" maxlenght ="40" value ="http://" />
</form>
Въвеждане на полета за маркиране (checkbox)
<form>
Какво правите през свободното си време?<br />
<input type="checkbox" name="Choice" value="sport" checked="checked" /> Спортувам<br />
<input type="checkbox" name="Choice" value="Ucha" /> Уча<br />
<input type="checkbox" name="Choice" value ="Tanci" /> На танци
</form>
- Тъй като полетата за маркиране предоставят някакъв избор, те трябва да са поне 2 на брой или повече.
- Името, което ще се присвои като стойност на атрибута name трябва да бъде еднакво за всички полета за маркиране от формуляра, за да се покаже, че това са документи, починени на една и съща тема.
- Чрез атрибута value се задава название на съответното поле за маркиране, чрез което полетата да се различават.
- Ако желаете едно от полетата за маркиране да бъде маркирано предварително /по подразбиране/, трябва да използвате атрибута checked , като му зададете за стойност собственото му название /checked =" checked "/.
Единичен избор (радио-бутони)
<form>
В кой клас сте? <br />
<input type="radio" name="OneChoice" value="ix" checked="checked" />IX<br />
<input type="radio" name="OneChoice" value="X" /> X <br />
<input type="radio" name="OneChoice" value="XI" /> XI <br />
<input type="radio" name ="OneChoice" value="other" /> Друг
</form>
Падащи менюта
<form>
В кое училище учите? <br />
<select name="ChooseOne">
<option value="І"> І ЕГ </option>
<option value="ІІ"> ІІІ ПМГ </option>
<option value="ІІІ"> ІV ЕГ </option>
<option value="ІV"> V ЕГ </option>
<option value="V">VІІ СОУ </option>
<option value="VІ"> VІІІ СОУПЧЕ </option>
</select>
</form>
- Падащите менюта дават възможност както за единичен, така и за множествен избор. Горното меню е пример за падащо меню за единичен избор.
За да бъде възможно маркиранета на повече от едно поле от падащото меню е нужно в тага select да се въведе атрибута multiple. Този атрибут няма собствена стойност и затова според изискванията на XHTML му се задава като стойност собственото му название.
Многоредови полета за въвежадане на текст
<form>
Напишете писмо:<br />
<textarea name="Comentar" cols="50" rows="10"> Здравей! </textarea>
</form>
Поле за въвеждане на парола - атрибути и стойности
<form>
Въведете своята парола: <input type="password" name="parola" />
</form>
Поле за прехвърляне /upload/ на файлове
<form>
Сложете снимка: <input type="file" size="25" name ="UploadFile" />
</form>
Натиснете върху бутона " Browse ", за да видите ефекта.
Начини за обработване на формуляри
Всичко което научихте досега за формулярите е напълно безполезно, ако не знаете какво да правите с попълнената от клиента информация - как и къде се изпраща и съхранява тя така че да може да я използвате.
За да бъде използваем един формуляр той трябва задължително да притежава следните елементи:
- Бутони - За да бъде използваем формуляра потребителят трябва да има възможност да съхрани и да изпрати за обработка попълнените данни. За целта в повечето случаи се използва бутона " Submit ". Чрез натискане на бутон " Submit " данните се изпращат за обработка и съхранение и по този начин завършва работата по попълването на формуляра.
- За изработването на бутона " Submit " в HTML е предвидена следната команда:
<form>
<input type="submit" value ="Submit" />
</form> - Аналогично е изработването на бутон " Reset " чрез който формуляра се изчиства и се изтриват попълнените вече данни /например ако клиента се е отказал да изпраща информацията или желае да попълни други данни/.
- За изработването на бутона " Submit " в HTML е предвидена следната команда:
Указване на начин за обработка на формуляра
След като формуляра е попълнен клиента натиска бутона Submit и тук вече следва действието по изпращането на формуляра за обработка и съхранение.
Съществуват два начина за обработване на формуляри.
- Първият и най-прост начин е формуляра с цялата информация в него да се изпрати в някаква електронна пощенска кутия /e - mail / и да се съхранява там. Когато информацията от формуляра ви потрябва вие ще отворите имейла и ще видите необходимите ви данни.
- За да изпратите формуляра на някакъв имейл е необходимо само да добавите в отварящия таг form /най-първия таг на всеки формуляр/ атрибута action и да му зададете като стойност адреса на имейла в който трябва да пристигне информацията, придружен от формата mailto : :
<form action="mailto:somename@someserver.com" >
.........
.........
.........
</form> - Въпреки че това е най-лесния начин за обработка на формуляри той почти не се използва, тъй като зависи изцяло от възможността на браузъра да изпрати формуляра на имейл, а голяма част от браузърите не са програмирани да извършват това действие.
- За да изпратите формуляра на някакъв имейл е необходимо само да добавите в отварящия таг form /най-първия таг на всеки формуляр/ атрибута action и да му зададете като стойност адреса на имейла в който трябва да пристигне информацията, придружен от формата mailto : :
- Втория начин за обработка на формуляри е по-сложен, но и много по-надежден, поради което повечето сайтове използват именно него.
- Този начин изисква да притежавате CGI -скрипт за обработка на формуляри.
- Пълния текст на съкращението CGI е Common Gateway Interface.
- CGI -скриптът представлява просто програма, написана на някой от програмните езици - най-често на C , C ++ или Perl.
- Тя има за задача да обработи формуляра и за целта на атрибута action от началния таг form се задава като стойност точния адрес в интернет, където се намира CGI -скриптът.
- Добре е CGI -скрипта да се намира на същия сървър, където е "качен" /хостван/ вашият сайт. Обикновено хостовете които позволяват качване на CGI -скриптове отделят специално за тях директория, която почти винаги носи названието cgi - bin.
- Самите CGI -скриптове представляват файлове с разширение cgi.
- Нека вашия скрипт да се намира във файл myscript.cgi , който е качен в директорията cgi - bin на сървъра, където е хостнат сайтът ви.
- Тогава командата за изпращане на формуляра за обработка ще изглежда така:
<form action="cgi-bin/myscript.cgi">
.........
.........
.........
</form> - От всичко казано дотук става ясно, че вие трябва да притежавате CGI -скрипт и да го качите на сървъра, където се намира и сайтът ви.
- CGI -скрипт може да придобиете по няколко начина.
- Ако владеете някой от програмните езици може сами да си напишете скрипт.
- Може да помолите някой да ви го напише или да потърсите в интернет сайтове от които да си изтеглите готов безплатен скрипт /съществуват много такива сайтове/.
- Ако изтеглите готов скрипт ще са ви необходими поне минимални познания по съответния език, за да преправите скрипта, така, че да ви върши работа.
Имайте предвид, че не всички хостинги позволяват качването на CGI-скриптове /особено безплатните хостинги/. Но дори и в този случай пак може да използвате скрипт - обикновено хостингите които не позволяват качване на "външни" CGI -скриптове имат готови такива, които предоставят за ползване. Ако хостинга ви нито предоставя скриптове, нито позволява качването им, може да използвате CGI -скриптове качени на друг сървър /а не на сървъра, където е хостнат вашия сайт/. В интернет има доста сайтове, които предлагат безплатно или платено тази услуга.