PHP Walidacja formularza - Walidacja E-maila i URL
- Poprzednia strona Formularz PHP wymagany
- Następna strona Formularz PHP uzupełniany
Ten rozdział pokazuje, jak walidować nazwisko, e-mail oraz URL.
PHP - Walidacja nazwiska
Poniższy kod pokazuje prostą metodę sprawdzania, czy pole name zawiera litery i spacje. Jeśli pole name jest niepoprawne, to przechowuje wiadomość o błędzie:
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Dozwolone są tylko litery i spacje!"; }
Komentarz:Funkcja preg_match() wyszukuje wzór w łańcuchu znaków, zwraca true, jeśli wzór istnieje, w przeciwnym razie false.
PHP - Walidacja E-maila
Poniższy kod pokazuje prostą metodę sprawdzania, czy adres e-mail ma poprawną gramatykę. Jeśli adres e-mail ma niepoprawną gramatykę, to przechowuje wiadomość o błędzie:
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Niepoprawny format e-maila!"; }
PHP - Walidacja URL
Poniższy kod pokazuje metodę sprawdzania, czy adres URL ma poprawną gramatykę (to wyrażenie regularne pozwala na użycie kropki w URL). Jeśli adres URL ma niepoprawną gramatykę, to przechowuje wiadomość o błędzie:
$website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i",$website)) { $websiteErr = "Niepoprawny URL"; }
PHP - Walidacja Nazwiska, E-maila oraz URL
Teraz skrypt wygląda tak:
Przykład
<?php // Definiowanie zmiennych i ustawianie ich na puste wartości $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Nazwisko jest wymagane"; } $name = test_input($_POST["name"]); // Sprawdzenie, czy nazwisko zawiera litery i spacje if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Dozwolone są tylko litery i spacje"; } } if (empty($_POST["email"])) { $emailErr = "E-mail jest wymagany"; } $email = test_input($_POST["email"]); // Sprawdzenie, czy adres e-mail ma poprawną gramatykę if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } $website = test_input($_POST["website"]); // Sprawdź, czy adres URL jest poprawny (ten wyrażenie regularne pozwala również na podkreślenia w URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i",$website)) { $websiteErr = "Invalid URL"; } } if (empty($_POST["comment"])) { $comment = ""; } $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Gender is required"; } $gender = test_input($_POST["gender"]); } } ?>
Następnie wyjaśnię, jak zapobiec wyśczerpaniu wszystkich pól wejściowych formularza po jego złożeniu.
- Poprzednia strona Formularz PHP wymagany
- Następna strona Formularz PHP uzupełniany