Salve, ho realizzato questo codice che mi permette di far effettuare un login ai miei utenti che hanno compilato il form d'inscrizione al mio sito. Il tutto è stato realizzato con database mysql.
Quando però vado ad eseguire la query che mi dovrebbe confrontare i dati inseriti con il database (cercando una riga corrispondente) il server mi stampa questo errore:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/htdocs/www.liceomoscati.it/home/accesso.php on line 97
Questo è il codice completo della pagina
Grazie per qualsiasi suggerimento.Codice PHP:
?php
// includiamo il file di connessione al database
include ('configurazione.php');
include ('bone/principale.php');
// creiamo il nostro modulo di registrazione
?>
<form action='?inviodati=ok' method='POST'>
[b]Nome[/b]
<input type='text' name='nome'>
[b]Cognome[/b]
<input type='text' name='cognome'>
[b]Data di nascita (gg/mm/aaaa)[/b]
<input type='text' name='datadinascita'>
[b]Luogo di nascita[/b]
<input type='text' name='luogodinascita'>
[b]Residenza[/b]
<input type='text' name='residenza'>
[b]Via[/b]
<input type='text' name='via'>
[b]Email[/b]
<input type='text' name='mail'>
[b]Password[/b]
<input type='password' name='pass'>
[b]Ripeti Password[/b]
<input type='password' name='pass2'>
<input type='submit' value='Completa Registrazione'>
</form>
<?php
// attraverso un if controlliamo che il form sia stato inviato
if ( $_GET['inviodati'] == "ok" ) {
// recuperiamo i dati inviati con il form
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$datadinascita = $_POST['datadinascita'];
$luogodinascita = $_POST['luogodinascita'];
$residenza = $_POST['residenza'];
$via = $_POST['via'];
$mail = $_POST['mail'];
$pass1 = $_POST['pass'];
$pass2 = $_POST['pass2'];
// ora controlliamo che i campi siano stati tutti compilati
if ( $nome == TRUE && $mail == TRUE && $cognome == TRUE && $pass1 == TRUE && $pass2 == TRUE && $datadinascita == TRUE && $luogodinascita == TRUE && $via == TRUE && $residenza == TRUE ) {
// controlliamo se l'mail è presente già nel database
$sql ="SELECT * FROM tabella_registrati WHERE mail = '".$mail."' AND nome = '".$nome."' AND cognome = '".$cognome."' AND datadinascita = '".$datadinascita."' AND luogodinascita = '".$luogodinascita."' AND residenza = '".$residenza."' AND via = '".$via."' AND pass = '".$pass1."'";
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
if ( $num_rows == 1 ) {
// ora controlliamo che le password inserite siano identiche
if ( $pass1 == $pass2 ) {
// infine criptiamo la password con md5
$pass_md5 = md5($pass1);
$cognome = mysql_real_escape_string($cognome);
$nome = mysql_real_escape_string($nome);
// messaggio da far visualizzare all'utente finale
echo "<script language:php>echo: header (location: 'http://www.google.it')</script>";
} else {
echo "Le password non corrispondono";
}
} else {
echo "Si prega di riprovare";
}
} else {
echo "Tutti i campi sono obbligatori.";
}
}
include ('bone/post.php')
?>
P.S. Ho provato a cercare in giro per il web ma, non masticando perfettamente i linguaggi di programmazione (soprattutto sql) non ho la più pallida idea di cos'altro sperimentare.