Ciao a tutti!!!![]()
![]()
![]()
Sto cercando di fare un piccolo sistema di Login che mi protegga una pagina, mediante un user e una pass.
Sia l'user che la pass vengono memorizzati, in maniera univoca, in un DB Mysql, i record in cui vengono memorizzari si chiamano rispettivamente user ed pass.
Il mio problema nasce quando devo fare il controllo delle password e dell'username. Io ho fatto così:
Ho creato una pagina login.html ,nella quale vi è un form con due campi testo e si chiamano password e username:
---------------------------------------------------------------------------------------------------------
<form action="../script/php/directory/login.php" method="post" name="user" id="user">
<input name="user" type="text" id="user" value="user"> <input name="pass" type="text" id="pass" value="pass">
<input type="submit" name="Submit" value="Invia">
</form>
---------------------------------------------------------------------------------------------------------
Come potete vedere il form in questione punta ad uno script, login.php , nel quale teoricamente dovrebbe avvenire il Login e quindi il controllo dell'user e della pass passati dal form con quelli memorizzati nel DB.
Il codice nella pagina login.php è il seguente:
---------------------------------------------------------------------------------------------------------
<?php
// Recupero i dati dal Form
$username=$_REQUEST['user'];
$password=$_REQUEST['pass'];
// Parte relativa alla connessione al DB
include("../config/config.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
// Faccio la query, per selezionere l'user e la pass memorizzati nel DB
$query = "SELECT user, pass FROM nome_tabella WHERE user= '$username' AND pass= '$password' ";
$result = mysql_query($query, $db);
$row = mysql_fetch_assoc($result);
$num = mysql_num_rows ($result);
if ($result != '0'){
if( $row[user] == $username && $row[pass] == $password){
// Codice da inserire se il login è riuscito
echo"Il Login ha funzionato";
}else{
// Codice da inserire se la Password è errata
echo"Password ERRATA";
}
}else{
//errore non esiste nessun username e password con quel valore
}
//Chiudo la Connessione al DB
mysql_close($db);
?>
---------------------------------------------------------------------------------------------------------
Il problema è questo se inserisco un username e una password errata, allora mi effettua il controllo, la stessa cosa accade se metto l'username e la password giusta. Ma se non inserisco nessun username e nessuna password, il login avviene lo stesso.
Dove è che sbaglio?
Ciao e grazie![]()
![]()