Ir ao conteúdo

PHP Como verificar campos vazios com PHP de forma prática


Ir à solução Resolvido por DiF,

Posts recomendados

Postado
$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);


if ( (!$nome) || (!$email) ){
   echo "Todos os campos estão preenchidos!";
}else{
   echo "Você não preencheu todos os campos.";
}

Essa é realmente a única forma de validar campos? "Tipo.." é a única maneira de verificar se o campo esta vazio com PHP?

 

Pois se for assim, eu tenho 14 campos para verIficar, vou ter de encher de IF mesmo?

 

Procurei da uma estudada se no PHP tinha alguma função para verificar se todos os INPUTS do Form estão com seus respectivos valores preenchidos e infelizmente não existe.

 

"Alguma alma de bom coração pode ajudar com esse problema?"

 

desde já agradeço, estou quebrando muito a cabeça rsrsrs

Postado
  Em 13/01/2020 às 01:04, oassinante disse:

Procurei da uma estudada se no PHP tinha alguma função para verificar se todos os INPUTS do Form estão com seus respectivos valores preenchidos e infelizmente não existe.

Expandir  

Isso porque quem é responsável por essa verificação é o próprio html5 ou javascript. não tem porquê tirar recursos do servidor pra fazer uma coisa que se pode fazer no cliente.

  • Moderador
Postado
  Em 13/01/2020 às 01:25, Luís Roberto C. da Silva disse:

não tem porquê tirar recursos do servidor pra fazer uma coisa que se pode fazer no cliente.

Expandir  

Nem sempre o javascript pode estar habilitado. Com um simples clique nas opções do navegador posso desabilitar o JS e aí a verificação no cliente é quebrada.

 

É importante fazer a verificação nos dois. 

adicionado 4 minutos depois

@oassinante Você pode usar o empty() para testar se está  vazio.

Mas não tem problema usar varias variáveis e colocar  em um único teste de if.

Postado
  Em 13/01/2020 às 01:43, DiF disse:

Nem sempre o javascript pode estar habilitado. Com um simples clique nas opções do navegador posso desabilitar o JS e aí a verificação no cliente é quebrada.

 

É importante fazer a verificação nos dois. 

adicionado 4 minutos depois

@oassinante Você pode usar o empty() para testar se está  vazio.

Mas não tem problema usar varias variáveis e colocar  em um único teste de if.

Expandir  

@DiF Poderia da um exemplo das variáveis em um único If ou já é o que eu estou fazendo no meu código que enviei no tópico?

  • Moderador
  • Solução
Postado
  Em 13/01/2020 às 05:45, oassinante disse:

Poderia da um exemplo das variáveis em um único If ou já é o que eu estou fazendo no meu código que enviei no tópico?

Expandir  

Basicamente, o que mais os desenvolvedores fazem é colocar todos os campos separando com o OR usando o empty().

 

Desta forma:

 

if(empty($nome) OR $empty($email) OR 
   empty($telefone) OR $empty($endereco)):
    echo "Algum campo ficou vazio. Por gentileza volte e preencha tudo";
    exit;
endif;

Mas,  eu acho que um jeito mais inteligente de fazer essa verificação é criar uma função que leva um array como parâmetro.

 

Desta forma:

Crie um  arquivo novo chamado minhasFuncoes.php contendo a função:

function testaCampos($campos){
    foreach($campos as $fields):
        if(empty($fields)): 
            echo "Algum campo ficou vazio. Por favor volte e preencha todos";
            exit;
        endif;    
    endforeach;
}

Assim, você passa uma única variável contendo os campos.. e como é um array.. pode colocar bastante campos.

 

//Inclui o arquivo que contém a função criada
include 'minhasFuncoes.php';

//Recebe os dados do form e armazena nas variáveis
$nome = $_POST["nome"];
$email = $_POST["email"];
$tel = $_POST["telefone"];
$end = $_POST["endereco"];

//Cria um array com as variáveis recebida do form
$campos = array($nome, $email, $tel,$end);

//Executa a função
testaCampos($campos);

//Mostra em tela o conteúdo das variáveis
echo "Nome: $nome <br/>
      E-mail: $email <br/>
      Telefone: $tel <br/>
      Endereço: $end ";   

@oassinante

Postado
  Em 13/01/2020 às 07:35, DiF disse:

Basicamente, o que mais os desenvolvedores fazem é colocar todos os campos separando com o OR usando o empty().

 

Desta forma:

 

if(empty($nome) OR $empty($email) OR 
   empty($telefone) OR $empty($endereco)):
    echo "Algum campo ficou vazio. Por gentileza volte e preencha tudo";
    exit;
endif;

Mas,  eu acho que um jeito mais inteligente de fazer essa verificação é criar uma função que leva um array como parâmetro.

 

Desta forma:

Crie um  arquivo novo chamado minhasFuncoes.php contendo a função:

function testaCampos($campos){
    foreach($campos as $fields):
        if(empty($fields)): 
            echo "Algum campo ficou vazio. Por favor volte e preencha todos";
            exit;
        endif;    
    endforeach;
}

Assim, você passa uma única variável contendo os campos.. e como é um array.. pode colocar bastante campos.

 

//Inclui o arquivo que contém a função criada
include 'minhasFuncoes.php';

//Recebe os dados do form e armazena nas variáveis
$nome = $_POST["nome"];
$email = $_POST["email"];
$tel = $_POST["telefone"];
$end = $_POST["endereco"];

//Cria um array com as variáveis recebida do form
$campos = array($nome, $email, $tel,$end);

//Executa a função
testaCampos($campos);

//Mostra em tela o conteúdo das variáveis
echo "Nome: $nome <br/>
      E-mail: $email <br/>
      Telefone: $tel <br/>
      Endereço: $end ";   

@oassinante

Expandir  

@DiF Valeu amigo, essa sacada de função que estava precisando. Espero que novos usuários achem essa solução de mestre no futuro.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...