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

onde to errando!


meneguel

Pergunta

TO COM O SEGUINTE PEPINO: QUERO CADASTRAR CLIENTE, MAS ANTES VERIFICO SE SEU CPF OU CNPJ JÁ EXISTE NO BANCO. SE TÁ NO BANCO, EXIBO MSG E SAIO. SENÃO, INSIRO NO BANCO. ABAIXO TÁ MEU CÓDIGO. ALGUÉM PODE DAR UMA LUZ AE? MUITO OBRIGADO.

<? include "conectaboss.php";
$sel="select cpfcnpj from devedor where cpfcnpj='$_POST[cpfcnpj]'";
$dados = mysql_query($sel) or die (mysql_error());

if($dados)//INCIO IF
{ ?>

<script language="JavaScript" type="text/JavaScript">
alert ("CPF ou CNPJ já cadastrado!");
</script>

<?php }//FIM IF

else//INICIO ELSE
{
$sql = "insert into devedor(nome, tipopessoa, cpfcnpj, descreve, data, hotel)";
$sql.= "values('$_POST[nome]', '$_POST[tipopessoa]', '$_POST[cpfcnpj]', '$_POST[descreve]','$_POST[data]','$_POST[hotel]')";
$res = mysql_query($sql) or die (mysql_error());

    if($res)//INICIO IF
    { ?>
    
    <script language="JavaScript" type="text/JavaScript">
    alert ("Cadastro incluido!");
    </script>
    
    <?php
    }//FIM IF
    else//INICIO ELSE
    { ?>
    
    <script language="JavaScript" type="text/JavaScript">
    alert ("Cadastro não incluido!");
    </script>
    
    <?php }//FIM ELSE
}//FIM ELSE
mysql_close($db)or die (mysql_error());
?>

<script language="JavaScript" type="text/JavaScript">
location.replace("logadoboss.php");
</script>

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

O problema está no seu teste:

if($res)

Vai retornar true independente de ter encontrado ou não registros no banco, só vai falhar se a query estiver errada... utilize mysql_num_rows para contar os registros que retornarem e ai sim utilize o valor que retornar da contagem como parâmetro pro seu if/else...

Link para o comentário
Compartilhar em outros sites

  • 0

bom amigo.. eu não sei qual o erro q esta dando. mais não ficaria mais facil o seu insert desse jeit não

$sql=Mysql_query("insert into devedor values('$_POST[nome]', '$_POST[tipopessoa]', '$_POST[cpfcnpj]', '$_POST[descreve]','$_POST[data]','$_POST[hotel]');
porque aki onde você faz
$sql = "insert into devedor(nome, tipopessoa, cpfcnpj, descreve, data, hotel)";
$sql.= "values('$_POST[nome]', '$_POST[tipopessoa]', '$_POST[cpfcnpj]', '$_POST[descreve]','$_POST[data]','$_POST[hotel]')";
$res = mysql_query($sql) or die (mysql_error());

onde você da o mysql_query você não utiliza a variavel $sql. q é onde estao os values..

Link para o comentário
Compartilhar em outros sites

  • 0

ALTEREI, MAS CONTINUA COM ERRO. NÃO INSERE NO BANCO. EXIBE MSG "CPF ou CNPJ já cadastrado!";

<? include "conectaboss.php";
$sel="select cpfcnpj from devedor where cpfcnpj='$_POST[cpfcnpj]'";
$dados = mysql_query($sel) or die (mysql_error());

if($dados)//INCIO IF
{ ?>

<script language="JavaScript" type="text/JavaScript">
alert ("CPF ou CNPJ já cadastrado!");
</script>

<?php }//FIM IF

else//INICIO ELSE
{
$sql=Mysql_query("insert into devedor values('$_POST[nome]', '$_POST[tipopessoa]', '$_POST[cpfcnpj]', '$_POST[descreve]','$_POST[data]','$_POST[hotel]'");
$res = Mysql_query($sql) or die (mysql_error());

    if($res)//INICIO IF
    { ?>
    
    <script language="JavaScript" type="text/JavaScript">
    alert ("Cadastro incluido!");
    </script>
    
    <?php
    }//FIM IF
    else//INICIO ELSE
    { ?>
    
    <script language="JavaScript" type="text/JavaScript">
    alert ("Cadastro não incluido!");
    </script>
    
    <?php }//FIM ELSE

}//FIM ELSE

mysql_close($db)or die (mysql_error());

?>

<script language="JavaScript" type="text/JavaScript">
location.replace("logadoboss.php");
</script>

Link para o comentário
Compartilhar em outros sites

  • 0

cara.. olhando assim parece q ta certo.. mais tipo.. faz fora do select o $_POST e guarda em uma variável.. depois você manda exibir apenas essa variavel e comenta o resto do script inteiro.. da so um echo nessa variavel e ve o valor dela.. ai você vai ter base pra comparação.. talvez ele esteja trazendo um valor 0 e esse valor talvez exista no seu banco entendeu?? ai so fazendo esse tipo de debug mesmo pra ver...

Link para o comentário
Compartilhar em outros sites

  • 0

isso ai que o fabiosanches falo faz isso mesmo,

mas uma coisa tu quer saber se ele retorna algum valor já cadastrado usa a função mysql_num_rows() para retornar quantos cadastros com o valor foi encontrado tipo:

$num = mysq-num_rows($query);
if($num > 0) {
    // informa que já existe o cadastro!
} else {
    // se nã oexistir cadastra outro
}

OBS: quando tu postar um codigo usa as tags code para ceparar ele do resto da mensagem!

Link para o comentário
Compartilhar em outros sites

  • 0

véio, o certo é você declarar CPF, CNPJ ou RG sempre como UNIQUE no banco de dados... ai não precisa fazer validação nenhuma... só captura se o mysql vai dar erro de UNIQUE e pronto... se o cara tentar inserir 2 CPF iguais o banco de dados já barra... é mais seguro e simples... abraço

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,1k
×
×
  • Criar Novo...