Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Area di login con database mysql

    Ciao ragazzi, stò creando una piccola area di login che però si allaccia al database mysql.

    Il problema è che qualsiasi dato inserisco, l'accesso risulta valido...Perchè?

    $user= è il campo dove ho digitato il testo x entrare

    $query = "SELECT * FROM amministrazione WHERE username LIKE $user";
    if ($query = TRUE) {
    echo "Bravo!";
    }
    else {
    echo "Sbagliato";
    }

    Che cosa sbaglio?

    Ovviamente nel campo username metterò il nick per entrare....
    Potete darmi qualche aiuto?
    Grazie!
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  2. #2

    Re: Area di login con database mysql

    Originariamente inviato da gta3!
    $query = "SELECT username FROM amministrazione WHERE $user";
    Innanzitutto la query dovrebbe essere qualcosa del tipo:
    $query = "SELECT username FROM amministrazione WHERE $user='username_che_sta_memorizzata_nel_database'" ;

    E poi se non la fai eseguire al db, mi sa che non puoi gestire il tuo login...
    quindi:
    codice:
    mysql_connect("localhost", $uname, $upass);
    $result = mysql_db_query($database, $query);
    if (mysql_num_rows($result) > 0)
       echo 'bravo';
    else
       echo 'sbagliato';

  3. #3

    Re: Re: Area di login con database mysql

    Originariamente inviato da kylnas1
    Innanzitutto la query dovrebbe essere qualcosa del tipo:
    $query = "SELECT username FROM amministrazione WHERE $user='username_che_sta_memorizzata_nel_database'" ;

    E poi se non la fai eseguire al db, mi sa che non puoi gestire il tuo login...
    quindi:
    codice:
    mysql_connect("localhost", $uname, $upass);
    $result = mysql_db_query($database, $query);
    if (mysql_num_rows($result) > 0)
       echo 'bravo';
    else
       echo 'sbagliato';
    Non funziona...

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/portale3000.net/httpdocs/accesso.php3 on line 38
    sbagliato

    Questa non l'ho capita:
    $query = "SELECT username FROM amministrazione WHERE $user='username_che_sta_memorizzata_nel_database'" ;

    Perchè li devo inserire il mio user?Non lo devo verificare con quello scritto dall'utente?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  4. #4

    Re: Re: Re: Area di login con database mysql

    Originariamente inviato da gta3!
    Non funziona...

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/portale3000.net/httpdocs/accesso.php3 on line 38
    sbagliato
    Al posto della variabile $database ci devi mettere il nome del tuo db.

    Originariamente inviato da gta3!
    Questa non l'ho capita:
    $query = "SELECT username FROM amministrazione WHERE $user='username_che_sta_memorizzata_nel_database'" ;

    Perchè li devo inserire il mio user?Non lo devo verificare con quello scritto dall'utente?
    Appunto...dove sta la verifica nella tua prima query?

  5. #5

    Re: Re: Re: Re: Area di login con database mysql

    Aspè che forse mi sono spiegato male

    Io ho fatto un modulo che chiedeva di digitare la password. Facendo la pagina di verifica ho catturato il testo scritto dall'utente nel modulo nella variabile $user.

    Ho inserito nel database nella tabella username il mio user per accedere.

    Ti posto il codice qui sotto

    <?php
    $user = $_POST["opz1"];

    // verifico che il campo user sia completato
    if ($user == ""){
    echo "Campo username non riempito.[b]";
    echo "[b]<a href='javascript:history.back();'>Torna indietro e correggi l'errore";
    exit();
    }

    // connessione al database
    $db = mysql_connect("localhost", "aaa", "12345");
    if ($db == FALSE)
    die ("Errore nella connessione.");
    mysql_select_db("aaa2", $db)
    or die ("Errore nella selezione del database");

    // seleziono i dati
    $query = "SELECT username FROM amministrazione WHERE $user='admin'";

    $result = mysql_db_query($db, $query);
    if (mysql_num_rows($result) > 0)
    echo 'bravo';
    else
    echo 'sbagliato';
    ?>

    Io nella tabella ho inserito che come user ci deve essere admin....

    Come mai mi da quell'errore?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  6. #6

    Re: Re: Re: Re: Re: Area di login con database mysql

    Originariamente inviato da gta3!
    Aspè che forse mi sono spiegato male

    Io ho fatto un modulo che chiedeva di digitare la password. Facendo la pagina di verifica ho catturato il testo scritto dall'utente nel modulo nella variabile $user.

    Ho inserito nel database nella tabella username il mio user per accedere.

    Ti posto il codice qui sotto

    <?php
    $user = $_POST["opz1"];

    // verifico che il campo user sia completato
    if ($user == ""){
    echo "Campo username non riempito.[b]";
    echo "[b]<a href='javascript:history.back();'>Torna indietro e correggi l'errore";
    exit();
    }

    // connessione al database
    $db = mysql_connect("localhost", "aaa", "12345");
    if ($db == FALSE)
    die ("Errore nella connessione.");
    mysql_select_db("aaa2", $db)
    or die ("Errore nella selezione del database");

    // seleziono i dati
    $query = "SELECT username FROM amministrazione WHERE $user='admin'";

    $result = mysql_db_query($db, $query);
    if (mysql_num_rows($result) > 0)
    echo 'bravo';
    else
    echo 'sbagliato';
    ?>

    Io nella tabella ho inserito che come user ci deve essere admin....

    Come mai mi da quell'errore?
    La funzione mysql_connect restituisce una risorsa "connessione", non un db, non puoi usare la variabile nella funzione mysql_db_query (che richiede il nome del database).

  7. #7

    Re: Re: Re: Re: Re: Area di login con database mysql

    Originariamente inviato da gta3!
    $query = "SELECT username FROM amministrazione WHERE $user='admin'";
    Non puoi scrivere una query di questo tipo, è sbagliata.
    A sinistra dell'uguale ci deve stare un nome del campo della tabella.
    $query = "SELECT username FROM amministrazione WHERE nome_campo_della_tabella=$user";

  8. #8
    Uffi non ci riesco

    C'è qualche altro modo per fare questa verifica?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  9. #9

    Re: Re: Re: Re: Re: Area di login con database mysql

    Originariamente inviato da gta3!
    <?php
    $user = $_POST["opz1"];

    // verifico che il campo user sia completato
    if ($user == ""){
    echo "Campo username non riempito.[b]";
    echo "[b]<a href='javascript:history.back();'>Torna indietro e correggi l'errore";
    exit();
    }

    // connessione al database
    $db = mysql_connect("localhost", "aaa", "12345") or die ("Errore nella connessione.");
    mysql_select_db("aaa2", "nome_tuo_database")
    or die ("Errore nella selezione del database");

    // seleziono i dati
    $query = "SELECT username FROM amministrazione WHERE username='$user'";

    $result = mysql_query($query);
    if (mysql_num_rows($result) > 0)
    echo 'bravo';
    else
    echo 'sbagliato';
    ?>
    Prova così.

  10. #10

    Re: Re: Re: Re: Re: Re: Area di login con database mysql

    Originariamente inviato da kylnas1
    Prova così.
    Ok adesso funziona!!!!

    Però devo controllare altri 2 campi....Come faccio?

    Posso fare una cosa del genere?
    $query = "SELECT username FROM amministrazione WHERE username='$user' WHERE password='pass'";

    Tempo fortemente di no....

    Come potrei fare?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

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.