Volite web dizajn?
Zašto ne podijelite svoje znanje s cijelim svijetom? Svatko može pisati za Kroativ i na taj način se promovirati.
Kako napraviti user-friendly spam-free formu
Najveći problem današnjice je spam. No, da bi se borili protiv istog, programeri često koriste metode koje, blago rečeno, živciraju korisnike i tjeraju ih sa vaših web stranica. Od nečitljivih CAPTCHA slika, do matematičkih problema i sličnog.
Korisnici žele jednostavno upisati čim manje stvari i kliknuti Submit, sa što manje razmišljanja i ponavljanja zbog grešaka pri unosu. Pa pokazat ću vam, kako sa malo CSS i JavaScript trikova, možete izbjeći veliku većinu spama, a zadržati usability.
Prvo nam treba forma:
<form method="post" action="/submit.php"> <p>Ime: <br /><input name="name" /></p> <p>Email: <br /><input name="email" /></p> <p class="antispam">URL: <br /><input name="url" /></p> <textarea name="message"></textarea> <input type="submit" value="Send" /> </form>
Da prvo objasnim kako funkcionira spam-bot. Kad naiđe na formu, skenira njena polja i pokušava predati tu formu sa spam sadržajem. U našem slučaju, kad bismo ostavili formu ovakvom, garantirano bismo dobili tonu spama. Pa, idemo prevariti botove.
Prvo ćemo običnom, ljudskom korisniku sakriti polje za unos URL-a uz pomoć malo CSS-a:
.antispam { display:none;}
Zatim napravimo kod u PHP-u koji, u osnovi, izbacuje svakoga tko je ispunio polje URL. Znači, korisnik to polje ne ispunjava, jer nije vidljivo, dok će ga bot vrlo rado ispuniti. Evo koda:
<?php
// ako je polje URL prazno
if(isset($_POST['url']) && $_POST['url'] == ''){
// pošalji mail
mail('your@yoursite.com','Contact Form',print_r($_POST,true));
}
// svejedno pokaži da je sve u redu
?>
<h1>Hvala</h1>
<p>Ubrzo ćemo Vam odgovoriti</p>
?>
Na ovaj način, PHP će se brinuti da pošalje samo regularan mail. Moram napomenuti da nijedna metoda za borbu protiv spama nije 100% sigurna, ali ova će vas sigurno zaštiti od velike većine botova, a vaši će vam korisnici biti zahvalni.
Slični sadržaj:
- Kako napraviti magazin style dizajn? (Jako slično)
- Kako napraviti dizajn ovisan o vremenu? (Jako slično)
- Kako napraviti moderni Web 2.0 dizajn? (Jako slično)
- Naučite CSS u par minuta... (Jako slično)
- SEO - Gola istina (Jako slično)
4 komentara
Trackbacks & Pingbacks
Ostavite komentar
Autori s više od 10 komentara nemaju tag nofollow na svojim linkovima! Zabranjeno je vrijeđanje, omalovažavanje ili na bilo koji drugi način ometanje normalnog toka komentara. Također je zabranjeno oglašavanje u komentarima i sve druge vrste spam-a.
E super, ova tvoja serija članaka o formama je baš ono što mi treba 🙂
poštovani, može li ostatak koda za php akciju, hvala
Poštovani, htjela bih samo pitati nemaju li onda slijepe osobe problema prilikom slanja poruka. Mislim da programi kojima se slijepi služe pri pretraživanju interneta čitaju kod, ne css pa bi i slijepe osobe zaporavo ispunile ista polja kao i spam, čime bi se njihove poruke ignorirale.
@gost Ne mogu slijepi ljudi ispuniti to polje jer se ono ne vidi, mislim nema ga na ekranu. Ne mogu ga ispuniti.
A može se dodati i label koji će slijepim osobima reći ćemu služi to polje.