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

Problemas com if - else


Carlos Rocha

Pergunta

ola pessoal do fórum.

To com o códio abaixo com o seguinte problema:

Caso o usuario já esteja cadastrado, ele barra o cadastro certinho exibindo a mensagem.

Porem, se o usuario não estiver cadastrado, aí. ele faz o cadastro normalmente porem exibe a mensagem do Alert "'O login que você escolheu já foi escolhido para outro usuario", como se já houve-se o cadastro la e o que mais me intriga é o fato de o cadastro (INSERT), é feito normalmente.

Olhei o código varias vezes e não achei o erro.

<?php
if ($acao=="cad_operadores") {
$opera_superuser = mysql_query("select * from clientes where login = '$login'"); 
$opera_user = mysql_query("select * from login_filiais where login = '$login'"); 
$opera_superuser_cont = mysql_num_rows($opera_superuser);
$opera_user_cont = mysql_num_rows($opera_user);
if ($opera_superuser_cont != 0  || $opera_user_cont != 0) { echo "<script>alert('O login que você escolheu já foi escolhido para outro usuario!'); document.location='cad_operadores.php?acao=filial_operador'</script>";  }
else {
$senha = $_POST['senha'];
if (strlen($login) < 6){  echo "<script>alert('Login tem que ter entre 06 e 08 digitos!'); document.location='cad_operadores.php?acao=filial_operador'</script>";  }
if (strlen($login) > 8){  echo "<script>alert('Login tem que ter entre 06 e 08 digitos!'); document.location='cad_operadores.php?acao=filial_operador'</script>";  }
if (strlen($senha) < 6){  echo "<script>alert('Senha tem que ter entre 06 e 08 digitos!'); document.location='cad_operadores.php?acao=filial_operador'</script>";  }
if (strlen($senha) > 8){  echo "<script>alert('Senha tem que ter entre 06 e 08 digitos!'); document.location='cad_operadores.php?acao=filial_operador'</script>";  }

$consulta = mysql_query("INSERT INTO login_filiais(filial, login, senha, bloqueio) VALUES('$SESSAOfilial', '$login', '$senha', 'N')");
if (consulta) { echo "<script>alert('Cadastro efetuado com sucesso!!'); document.location='cad_operadores.php?acao=filial_operador'</script>";  }
else
              { echo "<script>alert('Erro. Cadastro não foi efetuado! Tente novamente!'); document.location='cad_operadores.phpacao=filial_operador'</script>";  }
     }
                               }  
?>

Se alguém puder me ajudar!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Fazendo tetes, eu percebi o seguinte:

<?php
if ($acao=="cad_filiais") {
$login = $_POST['login'];
$senha = $_POST['senha'];
$opera_superuser = mysql_query("select * from filiais where login = '$login'"); 
$opera_user = mysql_query("select * from login_filiais where login = '$login'"); 
$opera_superuser_cont = mysql_num_rows($opera_superuser);
$opera_user_cont = mysql_num_rows($opera_user);
if ($opera_superuser_cont != 0  || $opera_user_cont != 0) { echo "<script>alert('$opera_superuser_cont/$opera_user_cont-O login que você escolheu já foi escolhido para outro cliente!'); document.location='cad_filiais.php'</script>";  }
else {
if ($cpf == "") { $dcto = "cnpj"; }
if ($cnpj == "") { $dcto = "cpf"; }
if ($dcto == "cpf") { $valor = $cpf; }
if ($dcto == "cnpj") { $valor = $cnpj; }
$pesq = mysql_query("select * from filiais where $dcto = '$valor' and filial = '$SESSAOfilial'");
$conta = mysql_num_rows($pesq);
if ($conta <> 0) { echo "<script>alert('Filial já cadastrada. Consulte!'); document.location='cad_filiais.php'</script>";}
ELSE             {  
$login = $_POST['login'];
$senha = $_POST['senha'];
$consulta = mysql_query("INSERT INTO filiais(cod, pessoa, fantasia, nome, rasao, cnpj, ie, cpf, rg, endereco, numero, complemento, bairro, cidade, uf, cep, email, tel1, tel2, tel3, atividade, comissao, comissao2, comissao3, login, senha, bloqueio) VALUES('$cod', '$pessoa', '$fantasia', '$nome', '$rasao', '$cnpj', '$ie', '$cpf', '$rg', '$endereco', '$numero', '$complemento', '$bairro', '$cidade', '$uf', '$cep', '$email', '$tel1', '$tel2', '$tel3', '$atividade', '$comissao', '$comissao2', '$comissao3', '$login', '$senha', 'N')");
if ($consulta) {  echo "<script>alert('Cadastro OK!'); document.location='cad_filiais.php'</script>";}
ELSE          {  echo "<script>alert('Ouve um erro no cadastro. Tente novamente!'); document.location='cad_filiais.php'</script>";}
                 }
      }                    
                        }  
?>
No código acima, se eu sustituir a título de teste, a linha
$consulta = mysql_query("INSERT INTO filiais(cod, pessoa, fantasia, nome, rasao, cnpj, ie, cpf, rg, endereco, numero, complemento, bairro, cidade, uf, cep, email, tel1, tel2, tel3, atividade, comissao, comissao2, comissao3, login, senha, bloqueio) VALUES('$cod', '$pessoa', '$fantasia', '$nome', '$rasao', '$cnpj', '$ie', '$cpf', '$rg', '$endereco', '$numero', '$complemento', '$bairro', '$cidade', '$uf', '$cep', '$email', '$tel1', '$tel2', '$tel3', '$atividade', '$comissao', '$comissao2', '$comissao3', '$login', '$senha', 'N')");
Por exemplo por
$consulta = mysql_query("Select * from filiais");
A linha de baixo é executada e a resposta de cadastro ok é exibida
if ($consulta) {  echo "<script>alert('Cadastro OK!'); document.location='cad_filiais.php'</script>";}
ELSE          {  echo "<script>alert('Ouve um erro no cadastro. Tente novamente!'); document.location='cad_filiais.php'</script>";}
Porem, ao manter a claudula INSERT, a inserção é feita normalmente porem não sei como cargas d´agua depois da execução com suscesso em vez de dar a mensagem de ok ele volta la na linha
if ($opera_superuser_cont != 0  || $opera_user_cont != 0) { echo "<script>alert('$opera_superuser_cont/$opera_user_cont-O login que você escolheu já

De verificação de usuario que nem nesse bloco esta.

Outra coisa que esta me intrigando e que no form de aklteração tudo é igual menbos a clusula sql que muda para update e la funciona normal

porque será?

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

  • 0

Acho que descobri

É o seguinte.

Eius meu form

<form id="fil_par_mod" name="formcad" method="post" action="cad_filiais.php?acao=cad_filiais"  onsubmit="return CriticaFormulario()" onsubmit='getElementById("espera").value="Aguarde, enviando dados..."; getElementById("espera").disabled=true'>

Obsertvem que há 2 eventois onsubmit. Porem, eu poreciso dos 2.

Se eu tirar o 1º onsubmit="return CriticaFormulario()", ai o erro some.

Existre um,a forma de manter os 2 onsubmit's??

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite amigo.

Você não pode ter a declaração do mesmo evento 2 vezes no mesmo objeto, mas você pode ter várias funções dentro do mesmo evento:

<form id="fil_par_mod" name="formcad" method="post" action="cad_filiais.php?acao=cad_filiais"  onsubmit='getElementById("espera").value="Aguarde, enviando dados..."; getElementById("espera").disabled=true; return CriticaFormulario()'>

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