- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [Risolto] AIUTATEMI SFONDO IL PC! login php/mysql
-
[Risolto] AIUTATEMI SFONDO IL PC! login php/mysql
o ragazzi intanto ciao a tutti, sono nuovo del forum ^^, sto litigando da u paio d'ore con il pc, io dovrei fare una mini funzione per un login, se esiste nella tabella il nome utente e la password il codice deve farmi fare un redirect ad un'altra pagina, dunque:
<?php
$utente = $_POST['nome_utente'];
$password = $_POST['password'];
$connessione = mysql_connect('localhost', 'root');
mysql_select_db('utenti', $connessione);
$query = "SELECT utente, password
FROM login
WHERE utente = '$utente'
AND password='$password'";$result = mysql_query($query); if (mysql_result() == '1') {
$redirect = header("Location: http://www.teamferraristiroma.net");
} else {
print 'ERROR-You may not have confirmed' .
'your account yet';
}
?>COS'E' CHE NON VA???
-
Prova a vedere se ti entra nel blocco del redirect..
mettici un print "sono nel redir..."
se non ti entra ti punti su un'altro problema..
-
eh mi sa che mi sono spiegato male, il probl non è il redirect
ma lo script. cioè io vorrei uno script che leggesse dalla tabella che ho fatto tutti i dati, verificasse se c'è un nome utente e una password uguali a quelle scritte e mandate allo script con il Form (dalla pagina precedente).
non importa se fa il redirect, vorrei che facesse una cosa se trova nome utente e la pass e che scrivesse "passwrod e nome utente errato" se non la trovasse
-
il classico login con verifica dalla tabella degli utenti registrati insomma
-
@zzmetalname said:
eh mi sa che mi sono spiegato male, il probl non è il redirect
ma lo script. cioè io vorrei uno script che leggesse dalla tabella che ho fatto tutti i dati, verificasse se c'è un nome utente e una password uguali a quelle scritte e mandate allo script con il Form (dalla pagina precedente).
non importa se fa il redirect, vorrei che facesse una cosa se trova nome utente e la pass e che scrivesse "passwrod e nome utente errato" se non la trovasseEffettivamente pensavo che il problema fosse tutto lo script che avevi postato e ho puntato gli occhi su una parte critica.
Guardando bene quella query non è il massimo..
Ti indico una strada:
if($nick & $password){ $bd = mysql_connect($mysql_hostname, $mysql_user, mysql_password); mysql_select_db($mysql_database, $bd); $sql = mysql_query("SELECT password FROM admin WHERE nick = '$nick'"); if (mysql_num_rows($sql) == 0){ --->Il Nick non c'è }elseif (mysql_result($sql,0,"password") != $password){ --> c'è il nick ma la pass non corrisponde; }else{ -->utente trovato };
Ti ho scritto la porzione importante, sistema tu i dettagli.
-
MZ grazie, ora vatutto anche il redirect, passerò una serata con in nervi distesi grazie ancora e anche a tutit coloro che danno una mano ai niubboni
-
@zzmetalname said:
MZ grazie, ora vatutto anche il redirect, passerò una serata con in nervi distesi grazie ancora e anche a tutit coloro che danno una mano ai niubboni
Figurati, sono contento che hai risolto..
l'importante è che ci sia la voglia di imparare e la pazienza poi tutti i problemi si risolvono..
buona serata.
-
scusami MZ una domanda, ma se fai un query del tipo:
SELECT * FROM login WHERE utente = '$utente' AND password='$password'
non è praticamente la stessa cosa di:
$sql = mysql_query("SELECT password FROM admin WHERE nick = '$nick'");
if (mysql_num_rows($sql) == 0){
--->Il Nick non c'è
}elseif (mysql_result($sql,0,"password") != $password){
--> c'è il nick ma la pass non corrisponde;
?? vorrei capire xkè cmq se non erro la prima tipologia di query se non combaciano ID e password, ti restituisce 0 con num_rows o false col fetch_row, indi x cui, x quale motivo seguire il procedimento che hai scritto? cioè, qual'è la differenza? il controllo id e password matchanti? lo stesso controllo nn viene effettuato dalla prima tipologia di query?
-
@Pixelate said:
scusami MZ una domanda, ma se fai un query del tipo:
SELECT * FROM login WHERE utente = '$utente' AND password='$password'
non è praticamente la stessa cosa di:
$sql = mysql_query("SELECT password FROM admin WHERE nick = '$nick'");
if (mysql_num_rows($sql) == 0){
--->Il Nick non c'è
}elseif (mysql_result($sql,0,"password") != $password){
--> c'è il nick ma la pass non corrisponde;
?? vorrei capire xkè cmq se non erro la prima tipologia di query se non combaciano ID e password, ti restituisce 0 con num_rows o false col fetch_row, indi x cui, x quale motivo seguire il procedimento che hai scritto? cioè, qual'è la differenza? il controllo id e password matchanti? lo stesso controllo nn viene effettuato dalla prima tipologia di query?Ciao,
Si come hai scritto tu la query và bene, io preferisco la seconda forma, perchè a volte può essere utile sapere se è sbagliato il nick o la password per dare una diversa segnalazione all'utente.. in questo caso avrei potuto evitare fronzoli e andare diretto scrivendo la tua query, però oggi ero in vena di scrivere.
A parte gli scherzi, l'unica differenza fondamentalmente è quella, hai più controllo su quello che trovi e non trovi nella tabella.
-
grazie 1000 per la spiegazione, sia chiaro, la mia nn era una critica, anche xkè sicuramente a livello di "sicurezza" forse ciò che hai scritto tu, rispetto ad una semplice query è assolutamente un livello avanti.. era soltanto curiosità xkè nn avevo mai visto una tale tipologia di codice e imparare, dal momento che ho cominciato a darci di santa ragione con php da 1 mesetto, fa sempre bene
grazie ancora per la pazienza
-
Bene,così sono tutti felici e contenti :D:D
Segnalo come risolto
Ciao!