PHP Validação de Formulário - Validação de E-mail e URL
- Página Anterior Campos Obrigatórios do Formulário PHP
- Próxima Página Formulário PHP de Completação
Esta seção mostra como validar nome, e-mail e URL.
PHP - Validar Nome
O método simples mostrado a seguir verifica se o campo nome contém letras e espaços. Se o campo nome for inválido, armazena uma mensagem de erro:
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Apenas letras e espaços permitidos!"; }
Comentário:A função preg_match() recupera o padrão da string, retorna true se o padrão existir, caso contrário retorna false.
PHP - Validar E-mail
O método simples mostrado a seguir verifica a sintaxe do endereço de e-mail. Se o endereço de e-mail for inválido, armazena uma mensagem de erro:
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Formato de e-mail inválido!"; }
PHP - Validar URL
O método mostrado a seguir verifica a sintaxe do endereço de URL. Se a sintaxe do endereço de URL for inválida, armazena uma mensagem de erro:
$website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i",$website)) { $websiteErr = "URL inválida"; }
PHP - Validar Nome, E-mail e URL
Agora, o script é assim:
Exemplo
<?php // Definir variáveis e configurá-las como valores vazios $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Nome é obrigatório"; } $name = test_input($_POST["name"]); // Verificar se o nome contém letras e espaços if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Apenas letras e espaços permitidos"; } } if (empty($_POST["email"])) { $emailErr = "E-mail é obrigatório"; } $email = test_input($_POST["email"]); // Verificar a sintaxe do endereço de e-mail if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } $website = test_input($_POST["website"]); // Verificar se o idioma da URL é válido (esta expressão regular também permite sublinhados na 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"]); } } ?>
A seguir, vamos explicar como evitar que o formulário limpe todos os campos de entrada após o usuário submeter o formulário.
- Página Anterior Campos Obrigatórios do Formulário PHP
- Próxima Página Formulário PHP de Completação