io farei così
mi raccomando il controllo su quello che viene inserito nel form di login per evitare attacchi sql injection !!!Codice PHP:session_start(); //..avviamo la sessione...
//
//Controlliamo se tutti i campi sono compilati
if($_POST['username']== "" || $_POST['password'] == "" )
//Se alcuni campi non sono compilati...
{
die("Alcuni campi non sono compilati"); //...terminiamo lo script e mandiamo un errore all'utente
}
//
//Recuperiamo i dati dal database e li controlliamo
//
//controllo che non siano stati usati dei caratteri speciali
//FONDAMENTALE PER EVITARE PROBLEMI CON QUALCHE FURBETTO!!
$username=mysql_escape_string($_POST['username']);
$password=mysql_escape_string($_POST['password']);
//Impostiamo la query...
$query = "SELECT COUNT(*) n FROM utenti WHERE username = '$username' AND password='$password' ";
$risultato = mysql_query($query) //...e la eseguiamo
or die("Impossibile eseguire query.
".mysql_error()); //Oppure mandiamo il solito errore
$find = mysql_fetch_assoc($risultato); //Fissiamo la riga
//se non c'è un utente con quei dati quindi login errata:
if ($find['n']==0)
{
die("Username e/o password errati"); //..mandiamo l'errore e terminiamo lo script
}
else //Altrimenti...
{
$_SESSION['username'] = $username; //...e salviamo i dati in essa
$_SESSION['password'] = $password;
}
/* e poi va avanti.... */
prova a vedere cosa succede così...


Rispondi quotando