Ciao a tutti, ho un problemino con il controllo dell'esistenza del nome utente sul database.
In sostanza il codice scritto mi impedisce l'iscrizione di un utente con un nome già presente sul database,ma non fa comparire il messaggio che segue dopo l'or die e mi rimanda alla stessa pagina che viene visualizzata in fase di iscrizione.
Posto di seguito il codice php:
Cosa c'è di sbagliato?Qualcuno potrebbe aiutarmi ad inviduare l'errore?
Grazie in anticipo
In sostanza il codice scritto mi impedisce l'iscrizione di un utente con un nome già presente sul database,ma non fa comparire il messaggio che segue dopo l'or die e mi rimanda alla stessa pagina che viene visualizzata in fase di iscrizione.
Posto di seguito il codice php:
PHP:
<?php
require 'config/includes.php';
$db=dbconnect();
if (!empty($_POST['nome'])) {
$nom = $_POST['nome'];
$nome= htmlentities($nom);
$sesso_pg = $_POST['sesso'];
$sesso= htmlentities($sesso_pg);
$email = $_POST['mail'];
$mail= htmlentities($email);
$pax1 = $_POST['pass'];
$pass1= htmlentities($pax1);
$pax2 = $_POST['pass2'];
$pass2= htmlentities($pax2);
$naz = $_POST['naz'];
$naz= htmlentities($naz);
#controllo che il nome scelto non sia attualmente in uso
$checknome = mysql_query("SELECT * FROM personaggi WHERE nome = '$nome'") or die ("Nome in uso");
$nom_rows = mysql_num_rows($checknome);
if ( $nom_rows == 0 ) {
#controllo il format della mail
$email = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail);
if ( $email == TRUE ) {
// checkmail
$checkmail = mysql_query("SELECT * FROM personaggi WHERE mail = '$mail'") or die ("Mail occupata");
$num_rows = mysql_num_rows($checkmail);
if ( $num_rows == 0 ) {
// controlliamo che le password inserite siano identiche
if ( $pass1 == $pass2 ) {
$pass_sha = sha1($pass1);
mysql_query("INSERT INTO personaggi
(nome, sesso, pass , naz , mail, iscrizione)
VALUES
('$nome', '$sesso', '$pass_sha', '$naz', '$mail', NOW())") OR DIE(mysql_error());
// inviamo una mail con la riuscita registazione
mail ($mail, "Registrazione OK", "Complimenti registrazione effettuata con successo. Nome utente: '$nome'. Password: '$pass1'", "From: postmaster@********.com");
// messaggio da far visualizzare all'utente finale
echo "Complimenti registrazione effettuata con successo<br>Nome utente: $nome. Password: $pass1<br>Ti � stata inviata una mail di riepilogo all'indirizzo $mail";
header("Location: fineiscrizione.php", true);
}
}
}
}
}
mysql_close();
?>
Grazie in anticipo