Salve ragazzi,
realizzando un'area di accesso privata, sono giunto, senza problemi, al punto in cui si devono inserire nel form di login, username e password.
I dati inseriti nel form (dopo naturalmente essere stati inseriti nel database nella fase di registrazione dell'utente) vengono elaborati dal file "controllo.php", quello che dovrebbe aprire la sessione.
Tuttavia non riesco a capire perchè non la apre. Ecco il codice del file "controllo.php":
<?
session_start();
if (isset($_POST['username']) && isset($_POST['password'])) {
include("config.php");
mysql_connect($db_host,$db_user,$db_password,$db_n ame) or die ("errore nella connessione");
mysql_select_db("$db_name") or die ("errore nella selezione del database");
$hpw=md5($_POST['password']);
$result=mysql_query("select * from utenti where username='$_POST[username]' and password='$hpw'");
if (mysql_num_rows($result)!=0) {
$_SESSION['username']=true;
redirect_browser('menu.php');
} else
echo "Utente non riconosciuto";
}
mysql_close();
?>
Inserendo "username" e "password" di un utente precedentemente registrato, mi compare sempre la scritta "utente non riconosciuto". Vale a dire che e come se non riesca a pescare i dati dal database ed eseguire il controllo sugli stessi.
Perchè?
p.s. questa è la struttura della tabella "utenti" dove vengono registrati i dati.
CREATE TABLE `utenti` (
`id` int(3) NOT NULL auto_increment,
`nome` varchar(30) NOT NULL default '',
`cognome` varchar(30) NOT NULL default '',
`username` varchar(30) NOT NULL default '',
`password` char(8) NOT NULL default '',
`mail` char(255) NOT NULL default '',
`data` char(255) NOT NULL default '',
`ip` char(15) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `id_2` (`id`)
)
Qualcuno sa dirmi dov'è l'errore? ho provato svariate volte a correggere il file "controllo.php", ma non ne sono venuto a capo!!