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

Problema com IF


Diego SCarvalho

Pergunta

Pessoal estou fazendo um IF para testas as variáveis que são passadas pela tela de HTML. Então estou testando para ver se elas estão vazias antes de passar para o banco de dados. Porém sempre apresenta a mensagem dizendo que está faltando dados mas mesmo asssim cadastra corretamente no banco de dados.

<?php
    include "..\..\..\..\PHP\manager.php";

    $query = new manager(); //cria um novo objeto de pesquisa
    
    extract($_POST);
    
    if( ((isset($nome)) || (isset($sexo)) || (isset($data_nasc)) || (isset($cpf)) || (isset($complemento)) || (isset($telefone)) || (isset($celular)) || (isset($recados)) || (isset($tppaciente)) || (isset($numero)) || (isset($cidade_id)) || (isset($estado_id)) || (isset($logradouro)) || (isset($bairro))) == " ")
        echo'teste';
    
    else    {$sql = "INSERT INTO paciente (nome, sexo, data_nasc, cpf, complemento, telefone, celular, recados,  tppaciente, numero, cidade_id, estado_id,         logradouro, bairro)"." VALUES('$nome','$sexo','$data_nasc','$cpf','$complemento','$telefone','$celular','$recados','$tppaciente','$numero','$cidade_id','$estado_id','$logradouro', '$bairro')";    
    $query -> call($sql);}
            

?>

Vlws...

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Pessoal estou fazendo um IF para testas as variáveis que são passadas pela tela de HTML. Então estou testando para ver se elas estão vazias antes de passar para o banco de dados. Porém sempre apresenta a mensagem dizendo que está faltando dados mas mesmo asssim cadastra corretamente no banco de dados.

<?php
    include "..\..\..\..\PHP\manager.php";

    $query = new manager(); //cria um novo objeto de pesquisa
    
    extract($_POST);
    
    if( ((isset($nome)) || (isset($sexo)) || (isset($data_nasc)) || (isset($cpf)) || (isset($complemento)) || (isset($telefone)) || (isset($celular)) || (isset($recados)) || (isset($tppaciente)) || (isset($numero)) || (isset($cidade_id)) || (isset($estado_id)) || (isset($logradouro)) || (isset($bairro))) == " ")
        echo'teste';
    
    else    {$sql = "INSERT INTO paciente (nome, sexo, data_nasc, cpf, complemento, telefone, celular, recados,  tppaciente, numero, cidade_id, estado_id,         logradouro, bairro)"." VALUES('$nome','$sexo','$data_nasc','$cpf','$complemento','$telefone','$celular','$recados','$tppaciente','$numero','$cidade_id','$estado_id','$logradouro', '$bairro')";    
    $query -> call($sql);}
            

?>
Vlws...
você está testando algum deles para ver se estão preenchidos, caso um deles estiver preenchido ele executa o insert. ex
<?php

$nome='rickayron';
$sexo='M';
$cpf='012.054.025.89';
$data_nasc='29/04/1900';
$complemento='casa';


/* verifica se algum dos dados foram setados e estão com algo dentro */
if (
     ( isset($nome) && !empty($nome) ) or
     ( isset($sexo) && !empty($sexo) ) ||
     ( isset($data_nasc) && !empty($data_nasc) ) ||
     ( isset($cpf) && !empty($cpf) ) ||
     ( isset($complemento) && !empty($complemento) ) ||
     ( isset($telefone) && !empty($telefone) ) ||
     ( isset($celular) && !empty($celular) ) ||
     ( isset($recados) && !empty($recados) ) ||
     ( isset($tppaciente) && !empty($tppaciente) ) ||
     ( isset($numero) && !empty($numero) ) ||
     ( isset($cidade_id) && !empty($cidade_id) ) ||
     ( isset($estado_id) && !empty($estado_id) ) ||
     ( isset($logradouro) && !empty($logradouro) ) ||
     ( isset($bairro) && !empty($bairro) )
     ){
        echo "teste nome $nome";
     }
    else
{
 echo "os dados foram não preenchidos. ";
}
?>

penso eu que seria necessario fazer ao contrário do que você está fazendo, verificar se todos as variaveis foram setadas e estão com algo dentro, se quiser seguir essa logica que lhe falei basta trocar o || e or por && ou and;

O codigo acima testar para ver se existe alguma variavel preenchida e setada, caso pelo menos uma satisfaça essa necessidade o codigo será verdadeiro.

atá mais.

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,4k
    • Posts
      652,2k
×
×
  • Criar Novo...