Witam,
mam problem z walidacją formularza w php. Przy błędnym wypełnieniu jednego lub kilku pól i kliknięciu Wyślij, zamiast tekstu z wypisanym błędem wyświetla się cyfra 0. Nie mam pojęcia co może być nie tak, z php miałem niewiele do czynienia.
Będę wdzięczny za wszelkie sugestie. Poniżej kod php i formularza:
<?php
//--- początek formularza ---
if(empty($_POST['submit'])) { ?>
<form id="form_123" class="app" method="post" action=""> <div class="form_description"> <h3>Wypełnij formularz
</h3> <p>Nasz doradca skontaktuje się z Tobą w ciągu 24h, aby przedstawić szczegóły oferty.
</p>
<label class="description" for="element_1">Imię i nazwisko / Nazwa firmy*
</label> <input id="element_1" name="element_1" class="element text large" type="text" maxlength="255" value=""/> <label class="description" for="element_7">Rodzaj pojazdu / przedmiotu*
</label> <select class="element select large" id="element_7" name="element_7"> <option value="Samochód osobowy" selected="selected">Samochód osobowy
</option> <option value="Samochód ciężarowy" >Samochód ciężarowy
</option> <option value="Samochód dostawczy" >Samochód dostawczy
</option> <option value="Przyczepa / Naczepa" >Przyczepa / Naczepa
</option> <option value="Maszyny budowlane" >Maszyny budowlane
</option> <option value="Urządzenia medyczne" >Urządzenia medyczne
</option> <option value="Urządzenia specjalistyczne" >Urządzenia specjalistyczne
</option> <label class="description" for="element_2">Kwota finansowania*
</label> <input id="element_2" name="element_2" class="element text large" type="text" maxlength="255" value=""/> <label class="description" for="element_3">Miejscowość*
</label> <input id="element_3" name="element_3" class="element text large" type="text" maxlength="255" value=""/> <label class="description" for="element_4">Numer telefonu*
</label> <input id="element_4" name="element_4" class="element text large" type="text" maxlength="255" value=""/> <label class="description" for="element_5">Adres e-mail*
</label> <input id="element_5" name="element_5" class="element text large" type="text" maxlength="255" value=""/> <label class="description" for="element_6">Informacje dodatkowe
</label> <textarea id="element_6" name="element_6" class="element textarea small"></textarea> </li> <li id="li_8" style="text-align:right;"> <span style="float:right;margin-left:5px;"> <input id="element_8_1" name="element_8_1" class="element checkbox" type="checkbox" value="TAK" /> <label class="description" style="font-size:10px;font-weight:normal;padding-top:1px;" for="element_8">Wyrażam zgodę na przetwarzanie
<br/>danych osobowych*
</label>
<input type="hidden" name="form_id" value="123" />
<input id="saveForm" class="button_text" type="submit" name="submit" value="Wyślij" /> <span style="float:right;margin:10px 7px 0 0;">* pola wymagane
</span>
<?php
} else {
/* Walidacja danych */
Function leasing_form()
{
foreach ($_POST AS $klucz => $wartosc)
{
$wartosc= trim($wartosc); //usuwamy białe znaki i inne pierdoły $_POST[$klucz]=$wartosc;
}
//twoje dane
$email = 'email@emailo.pl';
$element_1=$_POST['element_1'];
$element_7=$_POST['element_7'];
$element_2=$_POST['element_2'];
$element_3=$_POST['element_3'];
$element_4=$_POST['element_4'];
$element_5=$_POST['element_5'];
$element_6=$_POST['element_6'];
$element_8_1=$_POST['element_8_1'];
$blad_txt='';
$blad_view='<b>Uzupełnij poniższe dane:</b><br /><br />'+$blad_txt+'<br /><br /><b>Należy poprawnie wypełnić formularz - <a href="index.php" title="Powrót">KLIKNIJ</a>.</b><br /><br />';
$blad=false;
/* Usuwanie znaczników HTML */
/* sprawdzanie poprawności znaków */
$lit_mys='/[0-9\~\`\@\#\$\%\^\&\*\_\+\=\[\]\{\}\\\|\;\'\"\<\>\/]/'; // letterswithbasicpunc
$lit_cyf_mys_kro_sla='/[\~\`\@\#\$\%\^\&\*\_\+\=\[\]\{\}\\\|\;\'\"\<\>]/'; // alphanumeric
$cyf='/[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ\~\`\!\@\#\$\%\^\&\*\(\)\_\+\=\[\]\{\}\\\|\;\:\'\"\,\<\>\.\/\?\-]/'; // digit
$element_1=preg_replace($lit_cyf_mys_kro_sla, '', $element_1);
//sprawdzamy czy jest podany prawidłowy adres e-mail
if(!preg_match('/^[a-zA-Z0-9\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-z]{2,4}$/', $element_5)){ $blad_txt.='Popraw adres e-mail.<br />';
$blad=true;
}
$element_6=preg_replace('/[\~\`\@\#\$\%\^\&\*\_\+\=\[\]\{\}\\\|\;\'\"\<\>\/]/', '', $element_6);
/*sprawdzamy wypełnienie pól wymaganych*/
if ($element_1=='') {
$blad_txt.='Imię i nazwisko / Nazwa firmy: pole wymagane.<br />';
$blad=true;
}
if ($element_7=='') {
$blad_txt.='Rodzaj pojazdu / przedmiotu: pole wymagane.<br />';
$blad=true;
}
if ($element_2=='') {
$blad_txt.='Kwota finansowania: pole wymagane.<br />';
$blad=true;
}
if ($element_3=='') {
$blad_txt.='Miejscowość: pole wymagane.<br />';
$blad=true;
}
if ($element_4=='') {
$blad_txt.='Numer telefonu: pole wymagane.<br />';
$blad=true;
}
if ($element_5=='') {
$blad_txt.='Adres e-mail: pole wymagane.<br />';
$blad=true;
}
/* regulamin */
if($element_8_1!='TAK') {
$blad_txt.='<br /><br /><b>Zgoda na przetwarzanie danych jest wymagana.</b><br /><br />';
$blad=true;
}
/*Sprawdzanie ilości znaków*/
$element_1_1 = strlen($element_1); if ($element_1_1 <= 3 && $element_1_1 >= 40) {
$blad_txt.='Imię i nazwisko / Nazwa firmy: wpisz od 3 do 40 znaków.<br />';
$blad=true;
}
$element_2_1 = strlen($element_2); if ($element_2_1 <= 3 && $element_2_1 >= 7) {
$blad_txt.='Kwota finansowania: Wpisz od 3 do 7 cyfr.<br />';
$blad=true;
}
$element_3_1 = strlen($element_3); if ($element_3_1 <= 3 && $element_3_1 >= 30) {
$blad_txt.='Miejscowość: wpisz od 3 do 30 znaków.<br />';
$blad=true;
}
$element_4_1 = strlen($element_4); if ($element_4_1 <= 8 && $element_4_1 >= 10) {
$blad_txt.='Numer telefonu: wpisz 9 cyfr bez spacji.<br />';
$blad=true;
}
$element_6_1 = strlen($element_6); if ($element_6_1 >= 501) {
$blad_txt.='Informacje dodatkowe: wpisz maksymalnie 500 znaków.<br />';
$blad=true;
}
if(!$blad)
{
//dodatkowe informacje: ip i host użytkownika
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
//tworzymy szkielet wiadomości
//treść wiadomości
$mailText = "Treść wiadomości:\n
1. Imię i nazwisko / Nazwa firmy: $element_1\n2. Rodzaj pojazdu / przedmiotu: $element_7\n3. Kwota finansowania: $element_2\n4. Miejscowość: $element_3\n5. Numer telefonu: $element_4\n6. Adres e-mail: $element_5\n7. Informacje dodatkowe: $element_6\n8. Zgoda na przetwarzanie danych osobowych: $element_8_1\n
Od: $element_1, $element_5 ($ip, $host)";
//adres zwrotny
$mailHeader.= "From: =?utf-8?b?".base64_encode($element_1)."?= <".$element_5.">\r\n"; $mailHeader.= "Content-Type: text/plain; charset=utf-8\r\n";
//funkcja odpowiedzialna za wysłanie e-maila
@mail($email, 'Formularz kontaktowy', $mailText, $mailHeader) or
die('Błąd: wiadomość nie została wysłana');
//komunikat o poprawnym wysłaniu wiadomości
echo '<h3 style="padding:10px;">Dziękujemy.<br/> Wiadomość została wysłana.</h3>';
//---------------------------------------------------------
}
else
{
/*cos jest zle - wyświetlamy stosowne komunikaty*/
}
}
leasing_form();
}
?>