Visualizzazione risultati 1 fino 3 di 3

Discussione: Problema conferma registrazione

  1. #1
    Data registrazione
    13-05-2012
    Messaggi
    182

    Predefinito Problema conferma registrazione

    Ho un problema con il mio sito web: Ho creato un file per la registrazione che richiede la conferma, e fin qui funziona bene ma dopo aver confermato con l'email mi dice che non ho ancora confermato con l'email eppure sul file utenti.txt mi dice che l'email è stata confermata. allego il file di login


    Codice PHP:
    <span class="style9"><em>
    <marquee style="font-family: Arial Black; text-decoration: blink" width="505" height="23" class="style13">Il login in questa area è riservato agli Utenti che hanno effettuato la registrazione tramite email. La registrazione è gratuita. </marquee></em></span>
    <br>
    <br>

    <div class="style1">


    <?php
    session_start
    ();
    if(@
    $_SESSION['log'] == '1') {//se l'utente ha gia effetuato il login
    header("Location: http://".$_SERVER['HTTP_HOST']."/area_riservata.php");//lo mando all' area riserva
    } else {
    if(isset(
    $_POST['submit'])) {//se il form è stato submistato il form
    $username=htmlentities($_POST['username']);//raccolgo i dati inviati via post
    $password=htmlentities($_POST['password']);
    $file='utenti.txt';
    $utenti=file($file);
    $crypt_pass = md5($password);
    $log = false;
    $error = false;
    foreach(
    $utenti as $valore) {
    $valore = @substr($valore, 0, strlen($valore)-1);
    @list(
    $username_file, $password_file, $email, $codice, $attivo)=@explode(',', $valore);//listo i dati dell utente
    if($username_file == $username && $password_file == $crypt_pass) {//verifico se l'utente corisponde a quello scelto
    if($attivo != '1') {//se l'utente non attivato l'user
    $error = "active";
    } else {
    $log=true;
    $_SESSION['log'] = '1';//setto le sessioni
    $_SESSION['username'] = $username;
    $_SESSION['email'] = $email;
    }
    } else {
    $error = "usrpsw";
    }
    }
    if(
    $log == true) {

    if (
    $_POST["txt_captcha"] == $_SESSION["session_captchaText"])
    {
    echo
    "<script type=\"text/Javascript\">
    window.location = 'area_riservata.php';
    </script>"
    ; ;
    }
    else
    {
    switch(
    $error) {
    case
    false:
    echo
    "Login fallito";
    echo
    "<script type=\"text/Javascript\">
    window.location = 'area_riservata.php';
    </script>"
    ;
    break;

    }
    $retry = true;
    }


    } else {
    switch(
    $error) {
    case
    'active':
    echo
    "Non hai ancora confermato tramite e-mail";
    break;
    case
    'usrpsw':
    echo
    "Combinazione username e password sbagliati";
    break;
    case
    false:
    echo
    "Login fallito";
    break;
    }
    $retry = true;
    }
    }
    if(!isset(
    $_POST["submit"]) || isset($retry)) {
    ?></div>
    &nbsp;<body style="background-image: url('images/acqua.gif')"><br>
    <form method="post" action="">

    <div align="center">
    <table border="0" style="width: 550px; height: 135px;">
    <tr>


    <td class="style5" style="height: 68px;" colspan="3">
    <img src="captcha.php" alt="captcha codice" name="captcha" width="233" height="49" id="captcha" /></td>
    </tr>
    <tr>


    <td class="style5" style="width: 57%; height: 68px;"><em><strong>*Inserisci il testo che vedi nell'immagine:</strong></em></td>
    <td style="height: 68px;" class="style1" colspan="2">
    <input name="txt_captcha" type="text" id="txt_captcha" style="width: 190px; height: 23px" class="style5" /><br>
    <br>
    </td>
    <td>
    <a href="login3.php">
    <img alt="" src="images/Refresh.png" width="25" height="19" class="style11">refresh</a></td>
    <a href="login3.php">




    </tr>
    <tr>




    <td class="style5" style="width: 57%; height: 68px;"><strong><em>Utente:</em></strong></td>
    <td style="width: 32%; height: 68px;" class="style1">
    <input name="username" type="text" style="width: 155px" /></td>
    <td class="style5" style="width: 16%; height: 68px;">&nbsp;</td>




    </tr>
    <tr>
    <td class="style5" style="width: 57%"><strong><em>Password:</em></strong></td>
    <td style="width: 32%" class="style1">
    <input name="password" type="password" style="width: 158px" /></td>
    </tr>
    <tr>
    <td style="width: 57%" class="style1">&nbsp;</td>
    <td style="width: 32%" class="style10"><input type="submit" value="Invia" name="submit" /></td>
    </tr>
    </table>
    </div>

    </form>

  2. #2
    Data registrazione
    13-05-2012
    Messaggi
    182

    Predefinito

    Questo è il file di registrazione (scusate poer il doppio post ma era troppo lungo)

    Codice PHP:
    <?php
    $error
    = false;
    $reg = false;
    function
    is_mail($mail) {
    $mail = htmlentities($mail);
    $ok[0] = "it";
    $ok[1] = "com";
    $ok[2] = "net";
    $ok[3] = "org";
    $i = true;
    foreach(
    $ok as $v) {
    if(
    $i == true) {
    $i = false;
    $stringa = $v;
    } else {
    $stringa = $stringa."|".$v;
    }
    }
    $eval = ".+@.+\.(".$stringa.")";
    if(@
    ereg($eval,$mail)) {
    return
    true;
    } else {
    return
    false;
    }
    }

    $file="utenti.txt";

    $apri=fopen($file, 'a+');

    $tyr = false;
    if(!isset(
    $_GET["step"])) {
    $_GET["step"] = "reg";
    }
    if(
    $_GET['step'] == "conf") {
    $username = htmlentities(trim($_GET['username']));
    $codice = htmlentities(trim($_GET['codice']));
    $array = file($file);
    $log="0";
    $rc = file_get_contents($file);
    foreach(
    $array as $valore) {
    $valore = @substr($valore, 0, strlen($valore)-1);
    @list(
    $username_file, $password, $email, $codice_file, $attivo)=@explode(',', $valore);
    if(
    $username_file == $username and $codice_file == $codice && $attivo == 0 && $tyr == false) {
    $log = 3;
    $old = $username_file.",".$password.",".$email.",".$codice_file.",".$attivo.",".$cf;
    $new = $username_file.",".$password.",".$email.",".$codice_file.",1".",".$cf;
    $vr = str_replace($old,$new,$rc);
    $fh = fopen($file,"w+");
    fwrite($fh,$vr);
    fclose($fh);
    $tyr = true;
    }
    }
    if(
    $tyr == true) {
    echo
    "Account confermato con successo.";
    header("Location: index.php");
    } else {
    echo
    "Impossibile confermare l'account.";
    }
    exit;
    } else {
    if(isset(
    $_POST['submit'])) {//se il form è stato submistato il form
    $username=htmlentities($_POST['username']);//raccolgo i dati inviati via post
    $password=htmlentities($_POST['password']);
    $rip_password=htmlentities($_POST['rip_password']);
    $email=htmlentities($_POST['email']);
    $nome=htmlentities($_POST['nome']);
    $cognome=htmlentities($_POST['cognome']);
    $indirizzo=htmlentities($_POST['indirizzo']);
    $citta=htmlentities($_POST['citta']);
    $privacy=htmlentities($_POST['privacy']);
    $cf=htmlentities($_POST['cf']);
    if(
    $username == '' or $password == '' or $email == '') {//se uno o piu campi sono vuoti
    $errror = "empty";
    } else {
    if(
    $password != $rip_password) {//se le due password sono uguali
    $error = "pswn";
    } else {
    if(
    strpos($username, ',') !== false or strpos($password, ',') !== false or strpos($email, ',') !== false or strpos($username, ';') !== false or strpos($password, ';') !== false or strpos($email, ';') !== false) {//se i dati contengono ',' o ';'

    $error = "char";
    } else {
    if (!
    is_mail($email)) {//se la sintassi dell'email è scorretta
    $error = "email";
    } else {
    if(
    strlen($username) < 4) {//se l'username a meno di 4 caratteri
    $error = "us4";
    } else {
    if(
    strlen($password) < 4) {//se la password a meno di 4 caratteri
    $error = "ps4";
    } else {
    $file='utenti.txt';
    $array = file($file);
    foreach(
    $array as $valore) {
    $valore = @substr($valore, 0, strlen($valore)-1);
    @list(
    $username_file, $password_file, $email_file, $codice_file, $attivo_file)=@explode(',', $valore);//listo i dati dell'utente
    if($username_file == $username) {//se l'uesrname è gia stato scelto
    $error = "usnv";
    }
    if(
    $email_file == $email) {//se l'email è gia stata usata
    $error = "emnv";
    }
    }
    if(
    $error == false) {
    $reg = true;
    }
    }

    }
    }
    }
    }
    }
    }
    if(
    $reg == true) {
    $crypt_password=md5($password);//cripto la password
    $arraycodice=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
    $codice = "";
    for(
    $i=0; $i<30; $i++) {
    $randcodice=rand(0,count($arraycodice)-1);
    $codice.=$arraycodice[$randcodice];//creo il codice di conferma
    }
    $fh = fopen("utenti.txt","a+");
    fwrite($fh,"\n".$username.','.$crypt_password.','.$email.','.$codice.',0;'.$cf);//scrivo sul file
    fclose($fh);//chiudo il file
    @list($sito, $inutile)=@explode('.', $_SERVER['HTTP_HOST']);//listo nome del sito e la parte inutile
    $testo="Ciao ".$username."! Questa e' l'email di conferma del sito http://\"".$_SERVER['HTTP_HOST']."\" di ".$sito." . Per completare la registazione clicca qui href=\"http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?step=conf&username=".$username."&codice=".$codice."\" . Lo Staff";//creo il testo dell email
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
    $mionome="miosito";
    mail($email, 'Conferma registrazione', $testo, $target="miosito");//invio l'email
    mail($mionome, 'Conferma registrazione', $testo, $nome, $cognome, $indirizzo, $citta, $privacy, $cf, date('d/m/Y H:i:s'), $ipnumb, $username, $password, $target="miosito");//invio l'email

    echo "Ti &egrave; stata spedita un email dove troverai un link per confermare il tuo indirizzo email!";

    //prende IP ADDRESS
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    if (
    $_SERVER["HTTP_X_FORWARDED_FOR"] == "") {
    $ipnumb = getenv("REMOTE_ADDR");
    }else {
    $ipnumb = getenv("HTTP_X_FORWARDED_FOR");
    }
    } else {
    $ipnumb = getenv("REMOTE_ADDR");
    }

    $apri1 = fopen("registrazione.txt", 'a+');
    $old1 = file("registrazione.txt");
    $new1 = "Reg. Utenti = Utente: " . $username . " - Password: " . $password . " - Email: " . $email . " - Nome: " . $nome . " - Cognome: " . $cognome . " - Indirizzo: " . $indirizzo . " - Citta': " . $citta . " - Privacy: Accettata" . $privacy . " - Codice Fiscale: " . $cf . " - Email Inviata!" . " - Data: " . date('d/m/Y H:i:s') . " - Numero IP: " . $ipnumb;
    $content = "\r\n";
    $vr1 = str_replace($old1,$new1,$content);
    $fh1 = fopen("registrazione.txt","a+");
    fwrite($fh1,$vr1);
    fclose($fh1);
    header("Location: conferma.html");

    } else {
    if(isset(
    $_POST["submit"])) {
    switch(
    $error) {
    case
    'empty':
    echo
    "Riempi tutti i campi!";
    break;
    case
    'pswn':
    echo
    "Le due password non sono uguali!";
    break;
    case
    'char':
    echo
    "Non puoi usare i caratteri '<strong>,</strong>' e '<strong>;</strong>'!";
    break;
    case
    'email':
    echo
    "La sintassi dell'email non &egrave; corretta!";
    break;
    case
    'us4':
    echo
    "Username deve avere piu di 4 caratteri!";
    break;
    case
    'ps4':
    echo
    "La password deve avere piu di 4 caratteri!";
    break;
    case
    'usnv':
    echo
    "Username gi&agrave; scelto!";
    break;
    case
    'emnv':
    echo
    "La e-mail &egrave; gi&agrave; in uso!";
    break;
    case
    false:
    echo
    "Registrazione fallita!";
    break;
    }
    $retry = true;
    }
    }
    if(!isset(
    $_POST["submit"]) || isset($retry)) {
    ?>
    <body style="background-image: url('images/acqua.gif')">
    <div class="style1">
    <img alt="" src="http://forum.it.altervista.org/images/logoes.gif" width="298" height="228"><br>
    <br>
    <p class="style9"><strong><em>Area Registrazione Utenti</em></strong></p>

    <br>
    </div>
    <marquee style="font-family: Arial Black; text-decoration: blink" width="505" height="23">Area Registrazione Utenti siete pregati di riempire tutti i campi. La registrazione è gratuita. I vostri dati non saranno in nessun modo divulgati. Grazie!</marquee>

  3. #3
    Data registrazione
    13-05-2012
    Messaggi
    182

    Predefinito

    Questo è la seconda parte del file registrazione.php il form:
    Codice PHP:
    <form method="post" action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>'>
    <table border="0" style="width: 400px">
    <tr>
    <td width="50%"><strong>Nome:</strong></td>
    <td width="50%"><input name="nome" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Cognome:</strong></td>
    <td><input name="cognome" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Indirizzo:</strong></td>
    <td><input name="indirizzo" type=text size="40"></td>
    </tr>
    <tr>
    <td style="height: 26px"><strong>Città:</strong></td>
    <td style="height: 26px"><input name="citta" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Codice fiscale:</strong></td>
    <td><input name="cf" type=text size="40"></td>
    </tr>

    <tr>
    <td width="50%"><strong>Username:</strong></td>
    <td width="50%"><input name="username" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Password:</strong></td>
    <td><input name="password" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Ripeti Password:</strong></td>
    <td><input name="rip_password" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Email:</strong></td>
    <td><input name="email" type=text size="40"></td>
    </tr>
    <tr>
    <td><strong>Accetto privacy</strong></td>
    <td><input name="privacy" type="checkbox" value="ok">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="style10">
    </span>
    <a href="privacy.htm"><span class="style10">Informativa privacy</span></a></td>
    </tr>

    <tr>
    <td align="right"><input type="reset" value="Reset" /></td>
    <td><input type="submit" value="Registrati" name="submit" /></td>
    </tr>
    </table>
    <br>
    </form>

Regole di scrittura

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