Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    24

    visualizzazione risultato query

    Ciao a tutti,
    sto cercando di impostare una query per un login.

    In pratica, da un form, l'utente compila:
    username e psw

    Invia i dati a una pagina che verifica se lo user e la psw corrispondono a quelli inseriti nel db.
    Di seguito il codice che verifica i dati:

    Codice PHP:
    $cn mysql_connect("localhost""root""administrator") or die('Errore...'); mysql_select_db("login",$cn) or die('Errore...');
    $user $_GET['username'];
    $passw $_GET['password'];
    $query mysql_query("SELECT user, password, stato FROM credenziali WHERE user =$user",$cn);
    $row mysql_fetch_array($query);
    $username $row['user'];
    echo 
    $username
    l'errore che mi si presenta è questo:
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ... line 17

    questa è la linea 17 --> $row = mysql_fetch_array($query);

    Cosa è sbagliato?
    Grazie in anticipo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Suppongo che il campo user sia un varchar, quindi ci vanno i doppi apici o l'apice singolo attorno alla stringa a cui dovrà essere uguale, dunque:

    "SELECT user, password, stato FROM credenziali WHERE user ='$user'"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    24
    esatto...era un varchar e mancava solo l'apice.
    Grazie mille!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Comunque, se quello che hai postato è il codice che effettivamente usi e non hai tagliato per rendere più veloce la lettura sul forum, ci sono almeno un paio di cose da rivedere.

    1) Non usare MAI le variabili che ti arrivano da un form per effettuare delle query senza prima averle filtrate, quantomeno passale a mysql_real_escape_string(), ci si potrebbero scrivere cose che ti fanno saltare tutto il database. Cerca SQL Injection e ti renderai conto di cosa può succedere se non le filtri.

    2) Ti fai arrivare sia username che password, ma per recuperare l'utente usi solo la username.
    Metti che uno abbia
    username: pippo
    pass: pippo
    arrivo io che so il nome utente di pippo e non la password, posso mettere come username pippo e come password qualsiasi cosa, tanto il tuo script non la controlla e mi loggo con l'account di pippo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    24
    no no...ho solo messo la parte che mi interessava.
    Per il filtro mi vado a vedere quello che mi hai detto.
    Grazie mille ancora!

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.