Esatto. ma attento..[supersaibal]Originariamente inviato da spiadadda
Scusate ma ho trovato la soluzione da solo!
E' una banalità, ma avvolte le risposte escono fuori quanto meno te lo aspetti e anche le cose più semplici possono diventare difficili.
Comunque la risposta alla mia seconda domanda (per chi potesse essere utile) è questa:
Bisogna modificare la query:
$query = "SELECT user, pass FROM nome_tabella WHERE user= '$username' AND pass= '$password' ";
in questo modo:
$query = "SELECT user, pass, id FROM nome_tabella WHERE user= '$username' AND pass= '$password' ";
se si vuole conoscere anche l'id, oppure in questo modo:
$query = "SELECT * FROM nome_tabella WHERE user= '$username' AND pass= '$password' ";
se si vogliono conoscere tutti gli altri record della tabella.
Ciao![]()
![]()
[/supersaibal]
Se tu fai delle operazioni partendo da quella stringa, rischi che, nel caso non ci sia corrispondenza di user e password tutta la pagina ti vada in errore..
Cioè mi spiego
se tu fai:
Se uno inserisce user e pass sbagliate, ti andrà in errore, perchè quando vai a fare ad esempioCodice PHP:
$sql="SELECT user, pass, id FROM tabella WHERE user='$user' AND pass='$pass'";
$query=mysql_query($query);
$rs=mysql_fetch_array($query);
Query in effetti non contiene nessun record e manderà il tuo script in errore..
Allora non è saggio estrarre altre info mentre fai il controllo di user e pass..
quindi ti conviene fare:
Con mysql_num_rows() controlli quanti righe delal tabella corrispondono ai risultati della ricerca, nel caso sia maggiore di 0 (quindi esiste almeno un record che soddisfa la query) vuol dire che l'utente è stato riconosciuto ecc ecc eccCodice PHP:
$sql="SELECT user FROM tabella WHERE $user='$user' AND pass='$pass'";
$query= mysql_query($sql);
$count= mysql_num_rows($query);
if($count>0){
prosegui con tutti i controlli;
}else{
echo "Non hai inserito user e pass corretti";
}
![]()