Ciao a tutti! In questo tutorial dil login mi dà questo errore:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\login\login.php on line 29
Nome Utente o Password errati
Codice PHP:
<?php
// Includo la connessione al database
require('config.php');
// Se il modulo viene inviato...
if(isset($_POST['login']))
{
// Dati Inviati dal modulo
$cognome = (isset($_POST['cognome'])) ? trim($_POST['cognome']) : ''; // Metto nella variabile 'cognome' il dato inviato dal modulo, se non viene inviato dò di default ''
$nome = (isset($_POST['nome'])) ? trim($_POST['nome']) : ''; // Metto nella variabile 'nome' il dato inviato dal modulo, se non viene inviato dò di default ''
$pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
// Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
if (!get_magic_quotes_gpc()) {
$cognome = addslashes($cognome);
$nome = addslashes($nome);
$pass = addslashes($pass);
}
// Crypto la password e la confronto con quella nel database
$pass = md5($pass);
// Controllo l'utente esiste
$query = mysql_query("SELECT id FROM utenti WHERE cognome = '$cognome', nome = '$nome' AND pass = '$pass' LIMIT 1");
// Se ha trovato un record
if(mysql_num_rows($query) == 2)
{
// prelevo l'id dal database
$login = mysql_fetch_array($query);
// Creo una variabile di sessione
$_SESSION['login'] = $login['id'];
// reindirizzo l'utente
header('Location: privata.php');
exit;
}
// se non esiste da l'errore
else
die('Nome Utente o Password errati');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>
<body>
<form action="" method="post">
<input name="cognome" type="text" id="cognome" value="COGNOME" onfocus="if(this.value=='Nome Utente') this.value='';" />
<input name="nome" type="text" id="nome" value="NOME" onfocus="if(this.value=='Nome Utente') this.value='';" />
<input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" />
<input name="login" type="submit" value="Login" />
</form>
</body>
</html>
Confermo però che i nomi nel db vengono registrati, cognome, nome, pass ed email.
Originariamente c'erano solo i campi user e pass, io ho messo nome, cognome.
Dove sbaglio?
Grazie!