Visualizzazione risultati 1 fino 1 di 1

Discussione: Codice di conferma non funzionante e dati non inviati.

  1. #1
    Guest

    Predefinito Codice di conferma non funzionante e dati non inviati.

    Ho un problema con lo script di registrazione! Questo script mi invia l'email di registrazione, ma quando clicco sul link mi da una pagina bianca!

    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="username" 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';


    $codiceconferma = 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 ('$codiceconferma','$username','$password1','$email')");

    if(
    $inviautentitemp){

    $to=$email;
    $subject="Conferma la registrazione.";
    $header="From: Ysual Italia.";
    $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=$codiceconferma";

    $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 = '$codiceconferma' 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 = mysql_query("INSERT INTO Utenti (Username, Password, Email) VALUES ('$username','$password','$email')");

    if(
    $sqlconfermauser){
    echo
    "Il tuo account è attivato.";

    $sqleliminadati = "DELETE FROM Utenti_tmp WHERE codiceconferma = '$codiceconferma' username = '$username' password = '$password' AND email = '$email'";

    } else {

    echo
    "Errore, dati non inviati";

    }
    }
    }
    }

    ?>
    In teoria dovrebbe dirmi "Il tuo account è attivo", dovrebbe cancellarmi i dati dalla tabella "Utenti_tmp" e dovrebbe inviarmeli alla tabella "Utenti". Come mai da solo la pagina bianca e i dati non li cancella e ne invia? Se i dati non passano alla tabella "Utenti" non posso eseguire il login. Dove ho sbagliato? Grazie in anticipo.
    Ultima modifica di darkwolf : 14-11-2012 alle ore 19.15.31 Motivo: +php!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •