Salve, ho dei problemi al mio sistema login-registrazione, ma dalla parte della registrazione.
Visto che ho lavorato al mio sito su Altervista questo sistema funzionava, ma quando ho trasferito tutti i file in un altro hoster e dopo aver settato le configurazioni dei database mysql e fatto le tabelle per bene provo a registrarmi, ma ironia della sorte, mi dice di compilare tutti i campi, cosa che io ho fatto...
ora io non trovo quale sia il problema, ma il codice php è giusto, cioè, su altervista funzionava a meraviglia, ma nel nuovo hoster no.
Vi posto il codice php
Codice PHP:
<?php
if(!isset($_GET['passkey'])){
if(!isset($_POST['invia'])){ ?>
<form method="post" action="#" id="formregistrazione">
<label for="username">Username</label>
<input type="text" name="username" id="username">
<label for="password1">Password</label>
<input type="password" name="password1" id="password1">
<label for="password2">Conferma password</label>
<input type="password" name="password2" id="password2">
<label for="email">E-mail</label>
<input type="text" name="email" id="email">
<input type="submit" name="invia" id="registrati" value="Registrati">
</form>
<?php } else {
// creazione di un codice di conferma
$codiceconferma = md5(uniqid(rand()));
// Valori del form //
$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 username='$username' OR email='$email'");
$contausermail = mysql_num_rows($recuperauseremail);
if($contausermail > 0){
echo "Nome utente o email già disponibili";
} else {
// Invia dati alla tb utenti_temp //
$inviautentitemp = mysql_query("INSERT INTO utenti_temp (codiceconferma, username, password, email) VALUES ('$codiceconferma', '$username', '$password2', '$email')");
if($inviautentitemp){
$to=$email;
$subject="Conferma la registrazione";
$header="Da: Amministratore";
$message="Caro nuovo utente registrato, \r\n";
$message.="grazie per la Sua registrazione al sito The Evolution Drifts. Con la Sua registrazione può avere accesso a molti contenuti che gli utenti ospiti non possono avere:\r\n";
$message.="- Download di mod fatte dai membri del clan; \r\n";
$message.="- Download di videogiochi consigliati dal clan; \r\n";
$message.="- Download di programmi di ogni genere; \r\n";
$message.="- Modifica del profilo personale; \r\n";
$message.="- Interazione con i social network più attiva. \r\n";
$message.=" \r\n";
$message.="Di seguito Le forniamo il link per confermare la Sua registrazione al sito: \r\n";
$message.="http://www.theevolutiondrifts.tk/ted/register.php?passkey=$codiceconferma \r\n";
$message.="(Se il link non funziona copiatelo e incollatelo nella barra degli indirizzi) \r\n";
$message.=" \r\n";
$message.="Lo staff di The Evolution Drifts";
$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);
$username = $rows['username'];
$email = $rows['email'];
$password = $rows ['password'];
$passwordcript = md5($password);
$sqlconfermauser = mysql_query("INSERT INTO utenti (username, password, email) VALUES ('$username', '$passwordcript', '$email')");
if ($sqlconfermauser) {
echo "Il tuo account è stato attivato con successo";
$sqleliminadati = mysql_query("DELETE FROM utenti_temp WHERE codiceconferma = '$passkey'");
} else {
echo "Errore!";
}
}
}
}
?>