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

ajuda em log in

Discussão em 'Web Development' iniciada por comebeer, 8 de Dezembro de 2008. (Respostas: 5; Visualizações: 759)

  1. Código:
    <?PHP
     
    $uname = "";
    $pword = "";
     
     
     
        //ligar a base de dados
        mysql_connect("localhost", "root", "") or die(mysql_error());
        echo "Connected to MySQL<br />";
        mysql_select_db("login") or die(mysql_error());
        echo "Connected to Database<br />";
     
     
    if ($_SERVER['REQUEST_METHOD'] == 'POST'){
        $uname = $_POST['user'];
        $pword = $_POST['pass'];
     
        //ver se o login e correcto
     
        $SQL = "SELECT * FROM utilizador WHERE nome = $uname AND pass = $pword";
        $result = mysql_query($SQL);
        $num_rows = mysql_num_rows($result);
     
        if ($num_rows > 0) {
            echo "Login bem feito";
                }else{
                    echo "Login mal feito";
            }
        }
     
    ?>
     
     
     
     
     
    <html>
    <head>
    <title>Login</title>
    </head>
    <body>
     
    <FORM NAME ="form1" METHOD ="POST" ACTION ="login.php">
    <p><p><p>
    user: <INPUT TYPE = 'TEXT' Name ='user'  value="<?PHP print $uname;?>" maxlength="20">
    <p>
    pass: <INPUT TYPE = 'TEXT' Name ='pass'  value="<?PHP print $pword;?>" maxlength="16">
     
    <P>
    <INPUT TYPE = "Submit" Name = "Submit1"  VALUE = "Login">
    </P>
     
    </FORM>
     
    <P>
    <?PHP print $errorMessage;?>
     
    </body>
    </html>
    
    Este sistema de log in funciona quando procuro por um utilizador em que o username e a password sejam so numeros... se preencho os campos com letras como por ex user: jorge pass: abc ele da o seguinte erro

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\login\login.php on line 23




    Alguem me consegue ajudar com isto???
     
    Última edição pelo moderador: 9 de Dezembro de 2008
  2. fil79

    fil79 Power Member

    corrige esta linha (adição de plicas)

    $SQL = "SELECT * FROM utilizador WHERE nome = '$uname' AND pass = '$pword'";


    de qualquer modo o teu código está vulnerável a sql injection

    PREVENÇÃO--http://pt.php.net/addslashes
     
  3. fil79

    fil79 Power Member

    não sei se essa função é mais correcta para o caso mas se souberes como funciona o sql injection devias saber que o addslashes não permite injecção malaciosa de sql
     
  4. AliFromCairo

    AliFromCairo Power Member

    Podem "comparar" as funções aqui.
     
  5. AliFromCairo

    AliFromCairo Power Member

    Ainda não justificaste a razão pela qual o addslashes não funciona correctamente para todos os casos. Continuo a sugerir darem uma vista de olhos no link que coloquei acima.
     
  6. fil79

    fil79 Power Member


    desconhecia qualquer vulnerabilidade nesta função...agora não tenho tempo mas logo vou avaliar o link que enviaste
     

Partilhar esta Página