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

Ajuda PHP (Erro de Login)

Discussão em 'Web Development' iniciada por surfistacool, 4 de Junho de 2012. (Respostas: 4; Visualizações: 373)

  1. surfistacool

    surfistacool Power Member

    Boas,
    precisava de ajuda se possível.
    Estou a fazer um trabalho (PAP), e finalmente após ter tudo concluido, deparei-me com este pequeno erro, que sinceramente não estou a compreender como o resolver, daí vos pedir ajuda.

    Passo a explicar.

    Após o registo, quando os utilizadores vão fazer o Login, tudo bem.
    Mas se, o utilizador se enganar ele dá-me o mesmo erro "Notice: Undefined variable: cargo on line 26" e na linha 30.
    Só reparei nesse erro quando ia meter um script alert de erro de autenticação.

    Código:
    <?php
    $a=$_POST["t1"];
    $b=$_POST["t2"];
    
    if($a!="" && $b!==""){
        $site="localhost";
        $user="root";
        $pass="";
        $bd="loja";
        $liga=mysql_connect("$site","$user", "$pass");
        if(!mysql_select_db("$bd")) {
        echo "Base de Dados Indisponivel.";
        }
        $sql="select * from utilizador where email ='$a'";
        $resultado=mysql_query($sql, $liga);
        $num=mysql_num_rows($resultado);
        
        if($resultado) {
            while($registo=mysql_fetch_array($resultado)){
                $cargo=$registo["id_cargo"];
                $email=$registo["email"];
                $password=$registo["password"];
                $idu=$registo["id"];
            }
        }
        if($cargo==1 && $b==$password) {
            $_REQUEST['a']=$idu;
            include("login_user.php");
            
        } elseif($cargo==2 && $b==$password) {
        $_REQUEST['a']=$idu;
            include("login_admin.php");
        } else{
            include("index.php");
         }
    }else {
            include("index.php");
    }
    ?>
    Obrigado,
    Cumprimentos
     
  2. maxperformance

    maxperformance Power Member

    não tens a variável cargo definida nem a variável password.
     
  3. _lamy_

    _lamy_ Power Member

    Defini a variável cargo fora do if ($resultado).
    Já agora, se o trabalho for avaliado a nível de segurança acho que não passas... Estás a confiar no utilizador...
     
  4. DarkT

    DarkT Power Member

    Usa binders na query sql e nao concatenaçao para nao sofreres de sql injection ...
     
  5. surfistacool

    surfistacool Power Member

    Boas,
    obrigado pelas rapidas respostas ;)

    Já declarei $cargo="id_cargo";
    E já meti o script echo"<script>alert('Erro de Autenticação!')</script>";


    Cumprimentos
     

Partilhar esta Página