Salve a tutti utenti! Lasciando in sospeso la pagina di registrazione, ho deciso di riprenderla come punto di riferimento. Solo che, c'è un problema: Io mi registro, il messaggio di email spedita viene visualizzato, clicco sul codice di conferma, ma non funziona D: Ecco qui il codice:
Non capisco dove sbaglio! Ricevo l'email, clicco sul link di attivazione account e non funziona.. Dov'è che sbaglio? Grazie in anticipo a chi mi aggiusta il codice :)Codice PHP:
<?php
if(!isset($_GET['passkey'])){
if(!isset($_POST['invia'])){
echo '<form method="post" action="#" id="formregistrazione">
<ul>
<li><lable for="username">Username:</lable>
<input type="text" name="nome" id="username">
</li>
<li><lable for="password1">Password:</lable>
<input type="password" name="password1" id="password1">
</li>
<li><lable for="password2">Ripeti password:</lable>
<input type="password" name="password2" id="password2">
</li>
<li><lable for="username">Username:</lable>
<input type="text" name="username" id="username">
</li>
<li><lable for="email">Email:</lable>
<input type="text" name="email" id="email">
</li>
</ul>
<input type="submit" name="invia" id="registrati" value="Registrati">
</form>';
} else {
include 'config.php';
$codice = md5(uniqid(rand()));
$username = mysql_real_escape_string($_POST['username']);
$password1 = mysql_real_escape_string($_POST['password1']);
$password2 = mysql_real_escape_string($_POST['password2']);
$email = mysql_real_escape_string($_POST['email']);
if($username == ""|| $email == ""){
echo "Devi riempire tutti i campi";
}elseif($password1 == ""|| $password2 == ""){
echo "Devi riempire tutti i campi";
}elseif($password1 != $password2){
echo "Le password devono coincidere";
} else{
$recuperausermail = mysql_query("SELECT id FROM Utenti WHERE username = '$username' AND email = '$email'");
$contausermail = mysql_num_rows($recuperausermail);
if($contausermail > 0){
echo "Nome utente o email già disponibili.";
} else {
$inviautentitemp = mysql_query("INSERT INTO Utenti_tmp (Codiceconferma, Username, Password, Email) VALUES ('$codice','$username','$password1','$email')");
if($inviautentitemp){
$to=$email;
$subject="Conferma la registrazione.";
$header="From: [email]die23@hotmail.it[/email]";
$message="Ecco il tuo codice di attivazione \r\n";
$message.="Clicca sul link per confermare la registrazione \r\n";
$message.="http://www.italianwebhack.altervista.org/register.php?passkey=$codice";
$sentmail=mail($to, $subject, $message, $header);
}
if($sentmail){
echo "Per completare la registrazione, clicca sul link che ti abbiamo inviato per email";
} else{
echo "Errore: Non ti è stato inviato nessun link di attivazione account";
}
}
}
}
} else{
$passkey = ($_GET['passkey']);
$sqlrecuperauser = "SELECT * FROM Utenti_tmp WHERE (Codiceconferma = '$codice' Username = '$username' Password = '$password' AND Email = '$email')";
$risultatouser = mysql_query($sqlrecuperauser);
if($risultatouser){
$contauser = mysql_num_rows($risultatouser);
if($contauser == 1){
$rows = mysql_fetch_array($risultatouser);
$username = $rows['username'];
$password = $rows['password'];
$email = $rows['email'];
$sqlconfermauser = "INSERT INTO Utenti (Username, Password, Email) VALUES ('$username','$password','$email')";
if($sqlconfermauser){
echo "Il tuo account è attivato.";
} else {
echo "Il tuo account non è ancora attivo.";
}
}
}
}
?>