Bolesław Maszka [Boloo] Pierwszym krokiem będzie oczywiście stworzenie samego formularza (musimy wiedzieć jakie dane potrzebujemy od użytkownika), co raczej nie jest skomplikowane.
Następnie trzeba wykonać obsługę formularza.
Zaczenimy od wstepnego obrobienia danych tzn.:
Usuniemy białe znaki (spacje) z początku i końca wszystkich pól.
Jeśli jest włączony magic_quotes (automatyczne dodawanie ukośników przed znakami specjalnymi) usuwamy dodane ukośniki.
Następnie zamieniamy wszystkie znaki specjalne na odpowiednie encje.
Teraz dopiero przechodzimy do sprawdzania poprawności wprowadzanych danych.
<?
//jesli byl wyslany formularz przechodzimy do obsługi danych
if(isset($_POST['wyslij']))
{
//Obrabiamy wszystkie zmienne przekazane metodą POST
foreach ($_POST AS $klucz => $wartosc)
{
$wartosc= trim($wartosc);//usuwamy białe znaki
if (get_magic_quotes_gpc())
$wartosc= stripslashes($wartosc);
$wartosc=htmlspecialchars($wartosc, ENT_QUOTES);
$_POST[$klucz]=$wartosc;
}
$blad_txt='';
$blad=false;
//sprawdzamy czy jest wypełnine pole imie
if(strlen($imie)<2){
$blad_txt.='Podaj imię<br/>';
$blad=true;
}
//sprawdzamy czy jest prawidlowy kod pocztowy
if(!ereg ( '^[0-9]{2}-[0-9]{3}$' , $kod )){
$blad_txt.='Nieprawodłowy kod pocztowy</br>';
$blad=true;
}
//sprawdzamy czy jest podane miasto
if(strlen($miasto)<2){
$blad_txt.='Podaj miasto<br/>';
$blad=true;
}
//sprawdzamy czy jest podany prawidłowy adres e-mail
if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){
$blad_txt.='Podaj prawidłowy adres e-mail<br/>';
$blad=true;
}
if(!$blad)
{
//poprawne dane - robmy z nimi co trzeba (zapisujemy do bazy danych itp.)
}
else
{
//cos jest zle – wyświetlamy stosowne komunikaty
echo $blad_txt;
}
}
else
{
//wypelniamy zmienne pustymi danymi jesli formularz nie został jeszcze wysłany
$imie='';
$kod='';
$miasto='';
$email='';
}