Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nigol

[Resolvido] Dificuldade no site de Login

Recommended Posts

Olá gente...

estou com um site e não estou conseguindo fazer

exibir uma mensagen caso o login esteja incorreto.. no momento o que meu site faz é apenas retornar diretamente sem exibir os alert (javascript)

 

Segu meu sistema de validação

<?
  ob_start();
  session_start();
  SESSION_destroy();
  session_start();
  global $conexao;
  $Plogin=$_POST['login'];
  $Psenha=$_POST['senha'];

  $banco="teste";
  $conexao = mysql_connect("conecção.comobr",'login','senha')or die ( "ERRO NO BANCO");
  mysql_select_db($banco,$conexao)or die (mysql_error()."... ERRO AO SELECIONAR BD");

//compara e seleciona o nome do client
  $login=mysql_query("SELECT * FROM usuarios  WHERE nome='$Plogin' AND senha='$Psenha';");
  $recebe=mysql_fetch_array($login);
  $recebeLogin=($recebe[nome]);
  
  $_SESSION[topo]="<DIV ALIGN='CENTER'><Table border =1><td>Usuario: </td><td>$recebe[nome_ext]</td><tr><td> SETOR :</td><td> $recebe[setor]</td>";
//seleciona a senha do client;
  $recebeSenha=($recebe[senha]);

//confere os dados digitados
  if(!(empty($_POST['login']))){
    if($recebeLogin==$_POST['login'] && $recebeSenha==$_POST['senha'])
    {
      $_SESSION['validacao']=1;
      $_SESSION[nome]=$_POST['login'];
      $_SESSION[conex]=$conexao;
      $_SESSION[nome_ext]=($recebe[nome_ext]);
      $_SESSION[setor]=($recebe[setor]);
      header ("Location: setor.php");
    }
  else{ 
      ?><script type="text/javascript">
      alert("Login ou senha Incorretos");
      </script>
      <?
      mysql_close($conexao);
    header ("Location: index.html");
    }
  }
  else{
  ?>
    <script type="text/javascript">
    alert("O campo Login e a senha devem ser preenchidos!");
    </script>
  <?
    mysql_close($conexao);


  }
ob_end_flush();
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que primeiro ele lê o servidor(PHP), depois o cliente(JavaScript).

Você colocou um Header para redirecionar no Else certo ? O Browser vai ler ele primeiro, ou seja, seu comando JS vai ficar pra trás.

Você pode fazer pra redirecionar pelo JS.

 

document.location.href = 'index.php';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifica se está correto o login no php e redireciona passando um parametro de erro, exemplo:

 

header("Location: index.php?erro=1");

E no index você verifica se está setado o parâmetro 'erro'. Assim:

 

<?php
if(isset($_GET['erro'])){
?>

<script type="text/javascript">

   alert("Login inválido!");

</script>

<?php
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galer muuuuito obrigado pela ajuda...

 

escolhi a implementação do RobertoPC.

 

ficou bem clean e de fácil documentação.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.