[PHP] Formularz kontaktowy - dodanie walidacji


(Allegroowicz1988) #1

Witam,

Mam sobie taki forumularz i chciałbym dodać do tego kodu walidację wpisywania poprawnego maila i numeru telefonu. Dodatkowo chciałbym dodać zabezpieczenie przed botami. Ktoś pomoże jak do tego się zabrać?

kod na stronie

Zadaj pytanie <?php if($sf_user->hasFlash('notice')): ?>

<?php echo $sf_user->getFlash('notice') ?>

<?php else: ?>
Wiadomość:

Wyślij
<?php endif; ?>
[/code] po stronie serwera
[code]public function executeSend(sfWebRequest $request) { $headers = 'MIME-Version: 1.0 Content-type: text/plain; charset=UTF-8 From: Webpage Bcc: name@mail.pl Reply-To: '.$request->getParameter('email'); mail("name@mail.pl", "Wiadomość wysłana", "Możesz odpowiedzieć na tę wiadomość do nadawcy używając przycisku ODPOWIEDZ w kliencie poczty.\nImie i Nazwisko: ".$request->getParameter('name'). "\nFirma: ".$request->getParameter('company'). "\nTel: ".$request->getParameter('telephone'). "\nEmail: ".$request->getParameter('email'). "\nWiadomość: ".$request->getParameter('message'), $headers); $this->getUser()->setFlash('notice', 'Dziękujemy, wiadomość została poprawnie wysłana.'); $this->redirect('content/'); }


(Kacper B Zuk) #2

Walidacja poprawnego maila: wyrażenia regularne i http://php.net/manual/en/function.preg-match.php

Walidacja poprawnego numeru telefonu: albo jak wyżej, albo sprawdzenie czy jest liczbą (http://php.net/manual/en/function.is-numeric.php) i sprawdzenie czy ma długość 9 znaków

Zabezpieczenie przed botami: jeśli chodzi o wpisywanie kodu z obrazka to polecam http://www.google.com/recaptcha


(P) #3

Odnośnie e-maila, zamiast szukania odpowiednich wyrażeń regularnych moim zdaniem lepiej skorzystać z http://www.php.net/manual/en/function.filter-var.php


(Sklep) #4

Do walidacji wyrażenia regularne, na pewno znajdziesz na necie gotowe wzorce, a jeśli chcesz się sam pobawić to tu jest fajny programik online do sprawdzania wyrażeń regularnych

http://www.rubular.com/