Ir para conteúdo
Fórum Script Brasil
  • 0

Validação De Formulário


Guest Luckxander

Pergunta

Guest Luckxander

Pessoal, estou tentando validar o formulário seguinte, com a função abaixo dele, mas quando deixo os campos vazios não estou recebendo mensagem de erro.

Alguém sabe me dizer o que fiz errado ou estou omitindo ?

<html>

<head>

<title>Formulário</title>

</head>

<body>

<form action="recebe_dados_get.php" method="post">

<table>

<tr>

<td align="right">Username: <input type="text" name="username"></td>

<td>Senha: <input type="password" name="texto" size=7></td>

</tr>

<tr><td align="right">

Nome: <input type="text" name="nome">

</td></tr>

<tr><td align="right">

Email: <input type="text" name="email">

</td></tr>

<tr><td align="right">

Cidade: <input type="text" name="cidade"></td>

<td> Estado: <input type="text" size=1 name="estado">

</td></tr>

<tr><td align="center">

<input type="submit" value="Envia">

</td></tr>

</table>

</form>

</body>

</html>

<?php

//Validação de formulário PHP - Arquivo "recebe_dados_get.php"

$usuario = $_POST["username"];

$senha = $_POST["password"];

$nome = $_POST["nome"];

$email = $_POST["email"];

$cidade = $_POST["cidade"];

$estado = $_POST["estado"];

if (isset($_POST["submit"]))

{

$error = array();

if (strlen($usuario) < 3)

{

$error[] = "Username deve conter no mínimo 3 dígitos!";

}

else if (strlen($senha) < 5)

{

$error[] = "Senha deve conter no mínimo 5 dígitos";

}

else if (strlen($nome) < 9)

{

$error[] = "Preencha o nome completo";

}

else if (empty($email)|| strstr($email,'@')==FALSE)

{

$error[] = "O campo de email deve conter @";

}

else if (empty($cidade))

{

$error[] = "Favor preencher o campo cidade";

}

else if (strlen($estado) != 2)

{

$error[] = "Estado deve ser uma sigla de 2 dígitos";

}

foreach ($error as $error)

{

echo "Erro: $error<br>";

}

}

?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Guest Luckxander

Coloquei o foreach como você disse, mas quando envio o formulário com todos os campos vazios, ele retorna a página "recebe_dados_get.php" em branco.

Sabe me dizer o que está acontecendo ?

Link para o comentário
Compartilhar em outros sites

  • 0

Para qye exista $_POST['submit'], é necessário que o botão submit tenha o atributo name:

<input type="submit" name="submit" value="Envia">
Tire aquele monte de elseif's também, deixando assim:
if (strlen($usuario) < 3)
{
    $error[] = "Username deve conter no mínimo 3 dígitos!";
}
if (strlen($senha) < 5)
{
    $error[] = "Senha deve conter no mínimo 5 dígitos";
}
//...

Abraços,

Beraldo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...