Mapa sajta Web prsten Kontakt strana Home strana
English

Forme na sajtovima

Lako je nositi se sa statičnim stranama, ali problemi nastaju kada se javi potreba za programiranjem. Svaki sajt bi trebao imati makar kontakt formu. Kada posetilac poželi da kontaktira vlasnika sajta ili administratora najlakši način je da to uradi sa samog sajta. Tako bi trebalo biti, a da li je tako zaista?

Provera unetih podataka

Da li Vam se desilo da dođete na stranu s kontakt formom, kliknete na "Pošalji" bez da ste uneli i jedan podatak i kao odgovor dobijete "Vaša poruka je uspešno poslata" ?!?! Hmmm...koja poruka? Čija poruka?

"Programer" je uzeo zdravo za gotovo da ste Vi iz prve uneli sve podatke i to ispravno. To što će neko slučajno ili iz neznanja nešto uneti pogrešno ili nešto izostaviti - pa to je njegova krivica! A to što će neka skripta iskoristiti formu i poslati na hiljade mail-ova - pa dobro, dešava se..

Prvo, potrebno je jasno staviti do znaja korisniku koja je polja neophodno ispuniti (zvezdicama ili kako god).

Dalje, da se ne zavaravamo - validnost unetih podataka se mora proveriti i to na serveru! JavaScript provere nisu adekvatno rešenje, jer se od zlonamernog korisnika mogu izbeći!

Lepo, ali kako funkcioniše?Zatim, mora se proveriti format email adrese, ako se unosi, a po potrebi i formati ostalih podataka (datuma, broja telefona i sl.) i o tome ispisati prigodno upozorenje, ako dodje do greške. Mora se nedvosmisleno obavestiti korisnik koje polje je pogrešno uneo i šta se on njega očekuje da tu unese. Kod kompleksnijih unosa (npr. datum u određenom formatu) potrebno je staviti i primer ispravnog unosa.

A da li Vam se desilo da unesete desetak podataka i jedan pogrešite ili izostavite, a  kao rezultat dobijete poruku o grešci i sva polja prazna? Hajde sve iznova! Treba li uopšte komentarisati kako frustrirajuće to može biti za korisnika? Zakljčak - pri prijavljivanju greške sve podatke unete od strane korisnika neophodno je povono vratiti u formu, čak i kada su neispravni. Potrebno je omogućiti korisniku da ispravi svoju grešku, bez da sve unosi iznova.

Ajax

Ne redak slučaj je da se provera podaka radi iz JavaScript-a, a kao izgovor koristi se to da je tako prijava grešaka mnogo brža i rad komforniji.  Pogrešno! Za ubrzavanje provere podataka proveru je moguće odraditi koristeći Ajax . JavaScript, ma koliko delovao primamljivo nije pogodan za ovu svrhu. Kraj priče.

Siguronosni kod

A šta je sa zloupotrebom forme? Najčešći slučaj je da "haker" postavi neku skriptu koja će hiljadama puta popunjavati formu kojekakvim sadržajem i za posledicu imati slanje hiljade email-ova, spam-ovanje korisnika, zagušenje saobraćaja na serveru i sl. Problem se može rešiti dodavanjem siguronosnog koda (tzv. "Captcha "). Korisnik pored uobičajenih podataka mora uneti i kod koji je prikazan na slici i to tako da čitanje bude otežano. Takav tekst skripte i programi ne mogu (ili vrlo teško) pročitati, pa će formu moći ispravno da ispuni samo posetilac od krvi i mesa. Zaštita nije 100-postotna, ali ipak vrlo delotvorna.

Po uspešnom popunjavanju forme

Kada se forma uspešno ispuni pitanje je potrebe šta će se dogoditi. U svakom slučaju neophodno je obavestiti korisnika da je postupak uspeo i zahvaliti mu se naravno. Ako se radi o nekoj ozbiljnijoj formi (online kupovina i sl.) potrebno je poslati email korisniku koji rezimira posledice ispunjenja forme. Kod običnih kontakt formi, možda je bolje i ne slati email korisniku i ne uznemiravati ga bez potrebe.

Neophodno je obavestiti i administratora. Da li će se to uraditi slanjem email-a, upisom podataka u bazu ili i jednim i drugim - stvar je opet konkretnih potreba.

Upis podataka u  bazu treba najozbiljnije shvatiti, jer se forme najčešće koriste za hakovanje sajtova.

Višestruko popunjavanje formi

Ne redak slučaj je da će korisnik iznova i iznova popunjavati istu formu. Njegovo ime, adresa, broj telefona će uvek biti isti, ali on će iznova i iznova morati da ih unosi. Zar ne bi bilo jednostavnije sačuvati sve podatke koji se najverovatnije neće izmeniti od unosa do unosa i  ta polja u startu popuniti istim? Naravno da jeste i naravno da je to moguće i potrebno uraditi. To se može izvesti čuvanjem podataka u tzv. "kolačićima" (cookies) na računaru korisnika. Sam mehanizam ne bi trebalo da interesuje klijente koji poseduju sajt, već programere koji sajt kreiraju.

Takođe, ako na sajtu ima više formi koje koriste isti podatak (npr. email adresu) poželjno je taj podatak čuvati u jednoj cookie varijabli, pa kada ga unesete popunjavajući jednu formu, na drugoj formi ćete ga imati automatski popunjenog u startu.

 

facebook digg del.icio.us myspace google reddit stumbleupon bookmarks icio live yahoo propeller mixx webnews misterwong yigg

Komentari

>>> Komentarisao Milan dana 26.5.2009. u 05:36.
Lepo nauceno Golube :)

Vaš komentar

Učitavanje u toku...