Salve a tutti,
in un form di registrazione ho pensato di preimpostare l'immagine del profilo, ma il problema è che non mi passa l'immagine dalla tabella utenti_temp a utenti. La cosa strana è che, se aggiungo la passkey nell'URL dove ho eseguito la registrazione, al posto di prenderla dall'e-mail, la variabile si salva nella tabella utenti, perché allora con il link dell'e-mail non funziona?
Vi prego, conto molto sul vostro aiuto: sono tre giorni che mi scervello, ma non riesco ad individuare l'errore; penso che voi possiate aiutarmi, ecco il codice del file register.php:
Codice PHP:
<?php
include 'header.php';
?>
<head>
<title>Registrazione su KnowEveryone</title>
<style type="text/css">
label {color:#FFF; font-size:24px; margin-top:30px; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif}
input {height:30px; width:200px}
</style>
</head>
<body style="background-color:#036">
<div id="barra" style="height: 50px; position: fixed; top: 0px; bottom: 0; left: 0; width: 10000px; background-color: #006699; border-bottom: 1px solid #133783; position:fixed !important">
<p style="margin-top:10px; margin-bottom:10px; margin-left:20px; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:24px; font-weight:bold">KnowEveryone[url="home.php"]Home[/url][url="login2.php?azione=login"]Login[/url]</p>
</div>
[img]partealta.png[/img]
<p style="color:#FFF; font-size:40px; text-align:center; margin-top:90px; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif">Registrazione su KnowEveryone</p>
<div id="wrapper">
<?php
if(!isset($_GET['passkey'])){
if(!isset($_POST['invia'])){ ?>
<center><form method="post" action="#" id="formregistrazione" style="alignment-adjust:central">
<ul>
<label for="username" style="margin-left:5px">Username:</label>
<label alt="Se vuoi essere riconosciuto dai tuoi amici inserisci il tuo vero nome e il tuo vero cognome" title="Se vuoi essere riconosciuto dai tuoi amici inserisci il tuo vero nome e il tuo vero cognome." style="color:#FFF; font-size:18px; margin-top:30px; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-left:60px">[?]</label>
<input type="text" name="username" id="username" />
<label for="password1" style="margin-left:5px">Password:</label>
<label alt="Ti consigliamo di inserire una password complessa con numeri e lettere e che non contenga il tuo nome." title="Ti consigliamo di inserire una password complessa con numeri e lettere e che non contenga il tuo nome." style="color:#FFF; font-size:18px; margin-top:30px; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; margin-left:65px">[?]</label>
<input type="password" name="password1" id="password1" />
<label for="password2" style="margin-right:20px">Ripeti Password:</label>
<input type="password" name="password2" id="password2" />
<label for="email" style="margin-right:120px">E-mail:</label>
<input type="text" name="email" id="email" />
[/list]
<input type="submit" name="invia" id="registrati" value="Registrati" style="margin-left:40px; width:100px" />
</form></center>
[img]angolobassodestro.png[/img]
<?php } else {
// creazione di un codice di conferma
$codiceconferma = md5(uniqid(rand()));
// Valori del form
$foto = "profilobase.png";
$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']);
// controllo campi vuoti e password
if($username == "" || $email == ""){
echo "Devi riempire tutti i campi";
}elseif($password1 == "" || $password2 == ""){
echo "Devi riempire tutti i campi";
}elseif($password2 != $password1){
echo "Le password devono coincidere";
}else{
$recuperauseremail = mysql_query("SELECT id FROM utenti WHERE email='$email'");
$contausermail = mysql_num_rows($recuperauseremail);
if($contausermail > 0){
echo "E-mail già utilizzata da un altro account!";
} else {
// Invia dati alla tb utenti_temp
$inviautentitemp = mysql_query("INSERT INTO utenti_temp (codiceconferma, username, password, email, foto) VALUES ('$codiceconferma', '$username', '$password2', '$email', '$foto')");
if($inviautentitemp){
$to=$email;
$subject="Conferma la Registrazione";
$header="Da: Amministratore";
$message="Ecco il tuo codice di attivazione \r\n";
$message.="Clicca sul link per confermare la registrazione \r\n";
$message.="http://knoweveryone.altervista.org/register.php?passkey=$codiceconferma";
$sentmail=mail($to,$subject,$message,$header);
}
if($sentmail){
echo "Per completare la registrazione controlla la tua casella di posta elettronica e clicca sul link di attivazione.";
}else{
echo "Errore, link di attivazione non inviato.";
}
}
}
}
} else {
$passkey = $_GET['passkey'];
$sqlrecuperauser = "SELECT * FROM utenti_temp WHERE codiceconferma = '$passkey'";
$risultatouser = mysql_query($sqlrecuperauser);
if($risultatouser) {
$contauser = mysql_num_rows($risultatouser);
if($contauser == 1){
$rows = mysql_fetch_array($risultatouser);
$foto = $rows['foto'];
$username = $rows['username'];
$email = $rows['email'];
$password = $rows['password'];
$passwordcript = md5($password);
$sqlconfermauser = mysql_query("INSERT INTO utenti (username, password, email, foto) VALUES ('$username', '$passwordcript', '$email', '$foto')");
if ($sqlconfermauser) {
echo "Il tuo account è stato attivato con successo";
$sqleliminadati = mysql_query("DELETE FROM utenti_temp WHERE codiceconferma = '$passkey'");
} else {
echo "Errore!";
}
}
}
}
?>
</div>
</body>
</html>
Grazie in anticipo a tutti quelli che saranno disponibili ad aiutarmi.
Saluti,
cicciaramba.