1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

LOgin erro

Discussão em 'Web Development' iniciada por NZ90, 4 de Junho de 2008. (Respostas: 1; Visualizações: 500)

  1. NZ90

    NZ90 Power Member

    eu tenho um login que contem um form onde se pode fazer o login de tres areas diferentes :administrador, funcionario e cliente e fasso com session

    ?>
    Código:
    <?php
    Session_start();
    include ('func.php');
    conecta();
     
    $user= $_POST['email'];
    $pass= $_POST['password'];
    $verifica = $_POST['verifica'];
    $logar = "SELECT IDCliente FROM cliente WHERE Email LIKE'$user' AND Password LIKE'$pass'";
    $logarAdmin = "SELECT IDAdministrador FROM administrador WHERE Email LIKE'$user' AND password LIKE'$pass'";
    $logarFunc = "SELECT IDFuncionario FROM funcionário WHERE Email LIKE'$user' AND password LIKE'$pass'";
    $resultado1 = mysql_query($logar, $LIGA);
    $resultado2 = mysql_query($logarAdmin, $LIGA);
    $resultado3 = mysql_query($logarFunc, $LIGA);
    if($resultado1 || $resultado2 || $resultado3) {
     if(mysql_num_rows($resultado1)>0) {
      while ($registo1 = mysql_fetch_array($resultado1)) {
      $email = $registo1["IDCliente"];}
      $_SESSION['idcliente'] = $email;
      echo '<p><h2>Login efectuado com sucesso!<br>Aguarde enquanto é redireccionado para a Área Cliente.</h2></p><br><br><br><br><br><br><br><br><br>';
      echo '<meta http-equiv="refresh" content = "3;URL=http://localhost/site/Cliente/index.php">';
      }
     
     if(mysql_num_rows($resultado2)>0) {
      while ($registo1 = mysql_fetch_array($resultado2)) {
      $email = $registo1["IDAdministrador"];}
      $_SESSION['idadmin'] = $email;
      echo '<p><h2>Login efectuado com sucesso!<br>Aguarde enquanto é redireccionado para a Área Administrador.</h2></p><br><br><br><br><br><br><br><br><br>';
      echo '<meta http-equiv="refresh" content = "3;URL=http://localhost/site/Administrador/index.php">';}
     
     if(mysql_num_rows($resultado3)>0) {
      while ($registo1 = mysql_fetch_array($resultado3)) {
      $email = $registo1["IDFuncionario"];}
      $_SESSION['idfunc'] = $email;
      echo '<p><h2>Login efectuado com sucesso!<br>Aguarde enquanto é redireccionado para a Área Funcionário.</h2></p><br><br><br><br><br><br><br><br><br>';
      echo '<meta http-equiv="refresh" content = "3;URL=http://localhost/site/Funcionarios/index.php">';}
     
     if(mysql_num_rows($resultado1)==0 && mysql_num_rows($resultado2)==0  && mysql_num_rows($resultado3)==0) {
      echo '<meta http-equiv="refresh" content = "3;URL=http://localhost/site/index">';
      echo "<p><h2 align = 'center'>Dados de login incorrectos!</h2></p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
     }
     }
    ao fazer login de Cliente ele da perfeitamente mas ao fazer o login do Administrador e de funcionario ele da a mensagem "Aguarde enquanto é redireccionado para a Área Funcionário" e depois diz que nao tenho permissoes que e a frase que tenho no codigo da pagina index
    Código:
    <?php
    Session_start();
    if (!$_SESSION['IDFuncionario']) {
    echo "<h2>Não tem permissões para aceder a esta área do website</h2>";
    echo '<meta http-equiv="refresh" content = "4;URL=http://localhost/site/index.php">';
    exit();
    }
    ?>
    sera que me podia ajudar a por isto a funcionar?
     
  2. MPalhas

    MPalhas Power Member

    no primeiro código:
    ...
    $_SESSION['idfunc'] = $email;
    ...


    no segundo:
    ...
    if (!$_SESSION['IDFuncionario']) {
    ...


    tens os nomes das variaveis diferentes
     

Partilhar esta Página