Ja bym trochę zmienił twój kod.
<?php
// zmienna określa czy formularz zostal wysłany;
$showForm = true;
// sprawdzamy, czy zmienna $submit jest pusta
if (!empty($_POST['submit'])) {
// sprawdzamy, czy zmienne przesłane z formularza nie są puste
// i zarazem czy są poprawne, np.: funkcja isPESEL( $pesel )
if ( !empty($_POST['imie_nazwisko']) && !empty($_POST['pesel']) && isPESEL
($_POST['pesel'])/* && pozostale warunki */ ) {
// tutaj też można sprawdzić czy PESEL jest poprawny i jak nie to wypisać odpowiedni komunikat
// if( !isPESEL($_POST['pesel'])) {
// echo "<div>numer PESEL jest niepoprawny</div>";
// break;
// }
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = "Imię i Nazwisko: $_POST[imie_nazwisko]\nPesel: $_POST[pesel] ...";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie_nazwisko] <$_POST[email]>";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("<A href='mailto:xxxx@xxx.xx","Formularz'>xxxx@xxx.xx","Formularz</A> PK","$message","$header") or
die('Nie udało się wysłać wiadomości');
// wyświetlenie komunikatu w przypadku powodzeniae
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong>"; $showForm = false;
}
// wyświetlenie komunikatu
else
echo "<div>Nie wszystkie pola zostały wypełnione lub zostały one wypełnione w niewłaściwy sposób</div>"; }
// wyświetlamy formularz jeżeli jest potrzebny
if( $showForm ) {
echo "<form method=\"post\">" . " <table border=\"0\">" .
" <tr><td><strong>Imię i Nazwisko:</strong><td>" .
" <td><input type=\"text\" name=\"imie_nazwisko\" size=\"30\" maxlength=\"40\" value=\"$_POST[imie_nazwisko]\" >*</td>" .
" </tr>" .
// pozostała część formularza;
" <tr><td colspan=\"2\">" .
" <input type=\"submit\" name=\"submit\" value=\"Wyślij\"> " .
" <input type=\"reset\" value=\"Wyczyść\">" .
" </td><tr/><table></form>";
echo "<div>Pola formularza oznaczone (*) są obowiązkowe!</div>"; }
?>
Będzie to bardziej praktyczne. Formularz pojawia się do momentu kiedy nie zostanie wysłany (lub pojawi się problem z wysyłaniem) i automatycznie wypełnia pola (zwróć uwagę na 44 linijkę kodu).
Co do samego sprawdzania poprawności numeru PESEL to warunek jest dodany w miejscu gdzie sprawdzane jest wypełnienie wszystkich pół (tutaj zaproponowałem warunek w postaci isPESEL($_POST['pesel'])). Oczywiście sprawdzanie można wstawić jeszcze w innym miejscu, wewnątrz if'a który sprawdza czy wszystkie pola zostały wypełnione.
Pozostaję jedynie zdefiniowanie funkcji sprawdzającej. Jej prosty przykład:
<?php
function isPESEL( $pesel )
{
}
?>
Oczywiście można ją zrobić bardziej wyrafinowaną.
-->
nie zauważyłem że poprawiłeś swojego posta ale mam nadzieję, że to ci pomoże