IZRADA SAJTA za 10 €

Home   FORUM   Toplista   HTML   CSS   JavaScript   PHP   DIZAJN   SEO   Mapa


KONTAKT
izuzetan[at]gmail.com






TOP LISTA SAJTOVA
Igrice
Slike

FORM tag

FORM tag izmedju ostalog pokazuje brauzeru gde počinje i gde se završava formular. Unutar početnog i krajnjeg taga se smeštaju elementi za unos podataka, ali mogu i svi drugi mogući HTML tagovi. Na primer možemo uneti tekst koji objašnjava šta pisati u poljima, mogu i slike, linkovi itd. Takodje vrlo često se elementi forme rasporedjuju tabelarno, što znači da se i tabele mogu smeštati u formama, itd. Minimalni izgled forme je:

<body>
<form>
     <!-- Ovde se smeštaju jedan ili više elemenata forme za unos podataka ali mogu i svi mogući drugi HTML tagovi -->
</form>
</body>

Ovaj kod naravno nema nikakvu funkciju. Vi FORM tag trebate shvatiti kao nevidljivi kontejner u kome se smeštaju elementi forme koji su vidljivi.

Svaka forma može imati svoje ime. Ime forme je neophodno nekim skriptama koje se koriste u izradi web stranica, na primer JavaScript skriptama. Dok recimo PHP skriptama apsolutno nije bitan naziv forme. Ime forme se daje atributom NAME ovako:

<body>
<form NAME="forma1">
       <!-- Telo forme -->
</form>
</body>

Obratite pažnju na navodnike u imenu. Vrednosti nekih atributa ne moramo stavljati u dvostrukim navodnicima, ali ovde to moramo. Da ne bi razmišljali u kojim to atributima ne moraju navodnici a u kojim moraju savetujemo vam da sve moguće vrednosti svih HTML atributa smeštate u dvostrukim navodnicima jer tako sigurno nećete nikad pogrešiti.

Kao što smo već napisali, elementi forme su vidljivi i oni sakupljaju podatke. Kad se klikne na submit dugme sve te podatke, iz svih elemenata, forma šalje nekoj skripti na obradu. E sad, definisanje adrese kom fajlu se šalju podaci definiše ACTION atribut koji se smešta u FORM tagu:

<form ACTION="cgi/obrada.cgi">

U vrednost atributa ACTION se dakle stavlja adresa skripte za obradu podataka. Ali ukoliko se na primer obrada podataka vrši u samom tom fajlu u kome se i nalazi forma (što je slučaj sa nekim PHP skriptama) onda možemo pisati <form ACTION = "">. Dakle samo navodnici. Mada i u takvim slučajevima možemo pisati adresu skripte u kojoj se nalazi i sama forma. Možete podatke prikupljene iz forme poslati na neku mejl adresu. U tom slučaju bi izgledalo:

<form method="post" action="mailto:tvojeime@sajt.com" enctype="text/plain">

Napomena: ako želite slati na mejl adresu podatke iz forme onda uvek koristite ENCTYPE i METHOD atribute u obliku kao gore. Zašto se koriste ENCTYPE i METHOD atributi objasniću u nastavku.

Postoje dva metoda prenosa podataka. Zato i u samoj formi po nekad moramo definisati metodu prenosa podataka. Atribut kojim se definiše metoda prenosa je METHOD. Metoda prenosa podataka nije direktno nešto bitna u samoj formi, a i za JavaScript gotovo da i nije bitna, ali na primer za PHP skripte je neophodna. Te dve metode su GET i POST. Ovde nećemo pisati ništa više vezano za te dve metode, a o tome imate sve detaljno u PHP delu gde se objašnjava prenos podataka. Znači ako je potrebno u formi definisati metodu prenosa onda pišemo:

<form METHOD="POST">

U gornjem primeru za metodu prenosa podataka izabrali smo POST, a ako želimo GET onda umesto POST pišemo GET.

Ako koristimo sve elemente forme osim element za ubacivanje fajlova (slika, videa, muzike itd), onda su NAME, ACTION i METHOD argumenti sasvim dovoljni u FORM tagu (osim ako šeljete podatke na mejl jer onda je obavezno i enctype="text/plain" kao što je već rečeno). U nastavku ćemo objasniti neke argumente FORM taga vezane za elemente forme koji služe za ubacivanje fajlova.

Znači ako se u telu forme nalazi i polje za ubacivanje slike, video klipova, tekst dokumenata ili drugih fajlova, onda se u FORM tagu atributom ACCEPT može definisati kojim od tih vrsta fajlova je dozvoljeno ubacivanje. Na primer ako želimo ubacivanje slika onda definišemo kojim tipovima slika je dozvoljeno, na primer:

<form ACCEPT="image/gif, image/jpeg">

Naravno ovde smo primera radi definisali dve vrste slika ali postoje još vrsta slika, pa može da stoje tri, i više. Ili recimo želimo da ubacujemo samo neke video klipove, onda možemo definisati koje vrste klipova: <form ACCEPT="video/mpeg, video/3gpp">. Bitna napomena je da ovaj atribut ne štiti ukoliko neko baš naumi da vam pošalje drugačiju sliku od one koje ste vi definisali ovim atributom, ili čak umesto slike da vam pošalje na primer neki klip. Na primer iskopira vašu stranicu i otvori je u notepad. Promeni vaš kod kako hoće. Tako promenjenu stranicu otvori brauzerom i ubaci u formi šta mu je volja. Znači ako želite da štitite svoj sajt ne postoji mogućnost u HTML-u ili na primer u JavaScriptu, već jedino na strani servera, na primer u PHP skriptama. Medjutim ovaj atribut ima smisla jer daleko više ima posetilaca koji nisu militantni, i onda ako unesu nepoželjan fajl odma im se na korisničkoj strani to napomene da isprave a ne mora da se opterećuje server.

Medjutim ako prethodni atribut nije neophodan, atribut ENCTYPE moramo ali moramo pisati u FORM tagu. Taj atribut definiše metodu kodiranja podataka prikupljenih iz polja za ubacivanje fajlova kojom će podaci biti poslati na host. Metode su sledeće:

  1. application/x-www-form-urlencoded - To je i po defaultu ako i ne navedemo atribut ENCTYPE, i važi za sve podatke koji se ubacuju a nisu fajlovi, ili se podaci ne šalju mejlom. To je metoda kojom se kodiraju tekstualni podaci pre nego što ih HTML pošalje serveru, i to tako da se razmaci pretvaraju u "+" simbol, a posebni znakovi se pretvaraju u ASCII-HEX vrednosti.
  2. multipart/form-data - Da mnogo ne zamaram objašnjenjima dovoljno je reći da ovu metodu uvek ali uvek morate koristiti kad se ubacuju bilo koji fajlovi, bilo oni slike, muzika, video, ili bilo koji drugi fajlovi. Možda se pitate zašto morate koristiti ovaj metod. Pa kao što vidite postoje razni metodi, i sad ako forma ne pošalje informaciju serveru kojom metodom su kodirani podaci onda server neće znati kako da se preipremi za dekodovanje.
  3. text/plain - Ukoliko koristite ACTION="mailto:......." morate izabrati ovu metodu kodovanja, ali MORATE.

E sad ajde da vidimo kako se obavezno piše FORM tag ukoliko se u telu forme nalazi element za ubacivanje (upload) fajlova (slika, muzike, videa, tekst fajlovi, i bilo koji drugi fajlovi), kompletan sa recimo post metodom prenosa podataka:

<form name ="fajl" action="POST" enctype="multipart/form-data">

Postoji i atribut FORM taga pod nazivom ACCEPT_CHARSET koji može definisati koji tip tekstualnih znakova forma šalje. Evo kako bi to izgledalo:

<form accept-charset="ISO-8859-1">

Internet explorer ne podržava ovaj atribut i po njemu je uvek on Windows-1252, što je po defoltu i kod drugih brauzera.

Copyright © 2010 BUbaj. Powered By bubaj.com
HTML    Tekst    Slika i link    Tabela    Frejm    Forma