Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: problema login

  1. #1

    problema login

    salve,premetto che è da poco che sto studiando php.....
    ho creato una pagina login_form.html
    quando un utente inserisce nome utente e psw e clicca sul pulsante login dovrebbbe apparire la scritta login effettuato con successo.....tuttavia ottengo i seguenti errori:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\programmi\easyphp1-8\www\login.php on line 22

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in e:\programmi\easyphp1-8\www\login.php on line 25
    Username e/o password errati


    vi posto ora la pagina dello script ( login.php )

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    </head>

    <body>

    <?php
    $db = mysql_connect("localhost", "xxxx", "xxxxx") or die ("Impossibile Connettersi: " . mysql_error());
    mysql_select_db("betpronostici",$db);


    $username = $HTTP_POST_VARS['username']; //Otteniamo l'username
    $password = $HTTP_POST_VARS['password']; //Otteniamo la password



    $query = mysql_query (" SELECT * FROM users WHERE user = $username ",$db ); //Impostiamo la query...
    $risultato = mysql_query($query);
    $riga = mysql_fetch_array($risultato);


    if(mysql_num_rows($risultato) == 0 || $riga['passsword'] != $password) //Se l'username o la password sono sbagliati...
    {
    die("Username e/o password errati"); //..mandiamo l'errore e terminiamo lo script
    }
    else //Altrimenti...
    {
    session_start(); //..avviamo la sessione...

    $HTTP_SESSION_VARS['username'] = $username; //...e salviamo i dati in essa
    $HTTP_SESSION_VARS['password'] = $password;

    echo "Login eseguito"; //Diamo poi un messaggio di conferma all'utente
    }
    mysql_close();



    ?>


    </body>
    </html>


    dove sbaglio????

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    probabilmente è sbagliata la query:
    SELECT * FROM users WHERE user = '$username'
    stampala e provala direttamente.

    PS al posto di $_HTTP_POST_VARS usa $_POST
    http://it.php.net/variables.predefined

    ciao

  3. #3
    Originariamente inviato da ken84
    probabilmente è sbagliata la query:
    SELECT * FROM users WHERE user = '$username'
    stampala e provala direttamente.

    PS al posto di $_HTTP_POST_VARS usa $_POST
    http://it.php.net/variables.predefined

    ciao
    ok, ho modificato $_HTTP_POST_VARS CON $_POST

    però non ho capito cosa intendi....vediamo un po'.....nel form di login presente nella pagina login_form.html sono presenti 2 campi textarea denominati rispettivamente username e password...quindi quando io clicco su login è come se avessi 2 variabili $username e $passoword ( probabilmente ho detto una cazz*ta ).Nel database ho una tabella "users" nella quale ho creato 2 campi "user" e "pass"

    quindi la dicitura SELECT * FROM users WHERE user = $username

    a me sembra giusta, xchè mi cerca nella tabella users se c'è un user ( che è il campo della tabella ) che è uguale a quello scritto dall'utente

    è probabile che abbia detto un sacco di corbellerie, ma vi prego di aiutarmi, ho iniziato da poco!

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da DarioVinci
    ok, ho modificato $_HTTP_POST_VARS CON $_POST

    però non ho capito cosa intendi....vediamo un po'.....nel form di login presente nella pagina login_form.html sono presenti 2 campi textarea denominati rispettivamente username e password...quindi quando io clicco su login è come se avessi 2 variabili $username e $passoword ( probabilmente ho detto una cazz*ta ).Nel database ho una tabella "users" nella quale ho creato 2 campi "user" e "pass"
    Quando clicchi verranno mandate in post o get ( a seconda dicome hai impostato 'method' nel tag <form>) che recupererai in $_POST['username'] e $_POST['password'] come giustamente fai.

    quindi la dicitura SELECT * FROM users WHERE user = $username

    a me sembra giusta, xchè mi cerca nella tabella users se c'è un user ( che è il campo della tabella ) che è uguale a quello scritto dall'utente
    Prova a vedere innanzitutto se ti passa i valori correttamente, quindi prova a stamparti l'array $_POST:
    print_r($_POST);

    Se i valori vengono passati correttamente, stampati la query a video e provala direttamente in phpmyadmin( o quello che usi).

    ciao

  5. #5
    ok, ho fatto quello che mi hai detto.....ho inserito come username DarioVinci come password 250785
    poi ho cliccato su login e mi ha stampato

    Array ( [username] => DarioVinci [password] => 250785 [submit] => login )

    quindi i dati vengono passati correttamente. Nel database è presente un user con quell'username e quella psw......continuo a non capire quell'errore.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    scusa sono stato p***a io...
    Il tuo codice:

    Codice PHP:
    $query mysql_query (" SELECT * FROM users WHERE user = $username ",$db ); //Impostiamo la query...
    $risultato mysql_query($query);

    $riga mysql_fetch_array($risultato); 
    Esegui 2 volte la query...fai 2 volte mysql_query...
    prova a fare:

    Codice PHP:
    $query "SELECT * FROM users WHERE user = '$username'",$db ); //Impostiamo la query...
    $risultato mysql_query($query);

    $riga mysql_fetch_array($risultato); 
    ciao

  7. #7
    se faccio cosi però mi da questo errore:


    Parse error: parse error in e:\programmi\easyphp1-8\www\login.php on line 19

    che è la riga che mi hai fatto modificare

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Codice PHP:
    $query "SELECT * FROM users WHERE user = '$username'"//Impostiamo la query...
    $risultato mysql_query($query);

    $riga mysql_fetch_array($risultato); 
    pardon...avevo lasciato un pezzo di codice in +
    prova ora...

    ciao

  9. #9
    ora sono tornati quei stramaledetti errori

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\programmi\easyphp1-8\www\login.php on line 22

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in e:\programmi\easyphp1-8\www\login.php on line 25
    Username e/o password errati



    VVoVe: VVoVe: VVoVe: VVoVe:

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova a stampare la query:
    $query = "SELECT * FROM users WHERE user = '$username'";
    echo "query: ".$query;
    //Impostiamo la query...
    $risultato = mysql_query($query);

    $riga = mysql_fetch_array($risultato);

    stampi così a video la query...e la provi direttamente su phpmyadmin ( o quello che usi te)...così vedi, se ti restituisce o meno qualcosa...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.