Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,802

    inserire in un unico files controllo e spedizione password e attivazione password

    ciao sto continuasndo a modificare quello script per l invio della password adesso il problema e questo io lo script l ho inserito tutto dentro ad un files all inizio fa i controlli dell user e dell email se trova questi dati inserisce una password criptata e invia l email all utente adesso pero nell email ho messo anche il link per l attivazione e nel form che sono due ho messo una condizione del tipo se verita e uguale ad 1 fai vedere il form di cambio password se non e uno, mostra il form dell controllo pero sia quando e 1 o 0 mida su tutto i controlli del form di controllo email vi posto il codice magari ci date un occhiata e mi date qualche vostro parere o mi dite cosa sbaglio

    come posso dividere gli script ? cosa mi consigliate? ciao

    Codice PHP:
    $DB = new DB();
    session_start();
    unset(
    $_SESSION['nick']);
    unset(
    $_SESSION['email']);
    // Si connette
    $DB->connect();
    //No need to change anything below ... 
    // Gets the date and time from your server 
    $date date("d/m/Y H:i:s"); 

    // Gets the IP Address 
    if ($_SERVER['REMOTE_ADDR'] == "")

    $ip "no ip";

    else

    $ip gethostbyaddr($_SERVER['REMOTE_ADDR']);


    // Gets the POST Headers - the Flash variables 
    $action $_REQUEST['action'] ; 
    $nickname $_REQUEST['nick'] ; 
    $m $_REQUEST['email'] ; 


    $CONFIG['check_table'] = array(
    "name" => "check_global",
    "email" => "check_global"
    );
    function 
    check_username($nickname,$m)
    {
    global 
    $CONFIG;

    $nickname trim($nickname);
    $m trim($m);

    if ((
    $nickname == "")||($m == ""))

    {return
    "Compilare i campi $value
    "
    ;}

    if (!
    preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i"$m)) 
    {return
    "Il seguente indirizzo email :[b]$m[/b]
    E'composto da caratteri non ammessi!

    "
    ;
           
    }

    else
    {
    //$query = @mysql_query("SELECT  FROM utenti WHERE nick='$nickname' || email='$m'") or die("Errore nella query");
    $query mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $nickname'
    AND `email` =  '
    $m' and `stato` = '1'
    LIMIT 0 , 1"
    );
    if (@
    mysql_num_rows($query) == 0){  return"L' email[b] " .$_REQUEST['email']."[/b] e il seguente username [b]"  .$_REQUEST['nick']."[/b]  
    Non corrispondono! "
    ;}else{return"OK";}

    if (@
    mysql_num_rows($query) != 0){ return" Controllo avenuto con successo ";}{return"OK";}
    }
    }

    if (
    $action == "send"

    //Innanzitutto controlliamo la var.le name: 
    $controllo check_username($nickname,$m); 

    if (
    $controllo != "OK"

    echo 
    $controllo

    //Qui potresti anche far visualizzare una cosa del genere: 
    echo "
    [url='
    $urlpatch/user/rememberpass.php']Ritorna alla registrazione[/url]"

    else 

    /*dopo aver fatto i vari controlli iniziamo ad creare la password  a random*/
    for ($i=0;$i<=7;$i++) { $new_pass .= chr(rand(97122)); }

    //echo"$new_pass
    ";//andranno cancellati solamente per testare lo script prima di criptare la password
    $user_dati = " SELECT FROM utenti
    WHERE 
    `nick` ='$nickname'
    AND `email` =  '$m' ";
    $result = mysql_query($user_dati);
    // controllo l'esito
    if (!
    $result) {
        die("
    Errore nella query $user_dati" . mysql_error());
    }
    while(
    $row = mysql_fetch_array($result))
    {
    $ragionesociale = $row['ragionesociale'];
    $nome = $row['nome'];
    $cognome = $row['cognome'];
    $codicefiscale = $row['codicefiscale'];
    $nazione = $row['nazione'];
    $adress = $row['adress'];
    $city = $row['city'];
    $provincia = $row['provincia'];
    $kap = $row['kap'];
    $phone = $row['phone'];
    $m = $row['email'];
    $dat_iscrizione = $row['date'];
    $date_ultimemod_user = $row['date_ultimemod_user'];
    $numero_a_caso = $row['caso'];
    }
    require ("
    ../includes/include.php");
    mail ( "
    $adminaddress","informazioni",
    "
    In data $date , \n
    L
    'utente  $nome  $cognome\n
    Ha fatto richiesta di una nuova password!
    =========================================
    ".LOGIN_USER."   $nickname
    ".EMAIL_USER."   $m
    ".PHONE_USER."   $phone
    ".DATE_ISCRIZIONE_USER."   $dat_iscrizione
    ".DATE_ULTIMA_MODIFICA_USER." $date_ultimemod_user
    =========================================
    " ) ; 
        
    //This sends a confirmation to your visitor
    mail ("$m","Recupero password:", 
    "Salve $nome $cognome  ,\n
    Le inviamo la nuova password.\n
    ==============================
    ".LOGIN_USER."   $nickname
    ".EMAIL_USER."   $m
    ==============================
    Nuova password: $new_pass
    ==============================
    ".DATE_ISCRIZIONE_USER."   $dat_iscrizione
    ".DATE_ULTIMA_MODIFICA_USER." $date_ultimemod_user
    ==============================
    ==============================
    ricevi questa email perche' 
    hai  richiesto una  nuova password  su $urlpatch 

    La nuova password deve essere attivataPer farlo devi cliccare sul link sottostante.\n"
     .
    $urldelvostrosito."user/sendtest.php?user=$nickname&email=$m&check=$numero_a_caso
    ==============================

    Saluti dallo Staff di $sitename 
        By
        $siteaddress
    ","FROM:$adminaddress ") ; 
        
    /*qui  codifico la password*/
    $new_pass = criptpass ($new_pass);


    //echo"
    $new_pass
    "; questa sara visualizzata solamente per testare
    /*qui  per testare lo script uso  il valore insert  in un altro database */
    //
    $aggiorno_pass_utente = "INSERT INTO mailing (name,emailVALUES ('$name','$new_pass')"; 

    $aggiorno_pass_utente = "UPDATE utenti SET pass'$new_pass',`stato` = '0'   date_ultimemod_user ='".date('Y-m-d H:i:s')."' WHERE email ='$m' " ;


    if (mysql_query(
    $aggiorno_pass_utente))

    echo "
    La vuova password l'è stata inviata nel suo indirizzo di posta elettronica
    ";
     echo "<meta http-equiv=\"Refresh\" content=\"3; URL=".$_SERVER['
    PHP_SELF']."\">";

    else
    {
    die(mysql_error());



    // Chiude
    $DB->disconnect();

    }
    }// 
    #####################################################################################################################
    //ATTIVAZIONE INDIRIZZO EMAIL
    #####################################################################################################################
    $DB = new DB();
    $DB->connect();
    $nickname = $_GET[user];
    $m = $_GET[email];
    $check_user = $_GET[check];

    if($nickname){
    $nickname = $_GET[user];
    }
    else
    {$nickname = "1";}

    if($m){
    $m = $_GET[email];
    }
    else
    {$m = "1";}

    if(is_numeric($check_user)){
    $check_user = $_GET[check];
    }
    else
    {$check_user = "1";}

    $controllo_utente = mysql_query ("SELECT *
    FROM `utenti`
    WHERE `email` = '
    $m' AND nick ='$nickname'

    LIMIT 0 , 1 ");

    $verita =  mysql_num_rows($controllo_utente);
    if ($verita =="1")
    {

     $aggiorno_utente = mysql_query ("UPDATE `utenti` SET `stato` = '
    1' ,`date_ultimemod_user` ='".date('Y-m-d //H:i:s')."' WHERE `email` ='$m' ") ;


    }
             else
             {
             mysql_error();
             }

    // Chiude
    $DB->disconnect();


    ###########################################################################################################################
    ##                                                                                                                       ##
    ##qui dice   se  verita che equivale al controllo del database  a il valore 1                                            ##
    ##fa visualizzare il form per il cambio password se no   mi da quello per il controllo                                   ##
    ##                                                                                                                       ##
    ###########################################################################################################################


    if ($verita =="1")
    {
    echo " $nickname $m $check_user
     e corretto lo script  qui dovrebbe iniziare la procedura di cambio password";
     echo"<div id='
    formremember'>\n

    ";
     echo"<FORM METHOD=POST ACTION='' name='
    test'>\n";
      echo"<table  id='
    rememberpass'>\n";
        echo"<tr>\n"; 
        echo"<td id='
    spacerremember'></td>\n";
        echo"<td id='
    spacerrememberpass'><label>Password</label></td>\n";
        echo"<td><INPUT TYPE='
    password' NAME='pass'></td>\n";
        echo"</tr>\n";
         echo"<tr>\n"; 
        echo"<td id='
    spacerremember'></td>\n";
        echo"<td id='
    spacerrememberpass'><label>nuova Password</label></td>\n";
        echo"<td><INPUT TYPE='
    password' NAME='newpass'></td>\n";
        echo"</tr>\n";
         echo"<tr>\n"; 
         echo"<td id='
    spacerremember'></td>\n";
           echo" <td id='
    spacerrememberpass'><label>Conferma password</label></td>\n";
            echo"<td><INPUT TYPE='
    password' NAME='confirmnewpass'></td>\n";
              echo"</tr>\n";
               echo" <tr>\n";
                 echo"<td></td> <td></td>\n";
                   echo"<td><input name='
    submit' type='submit' value='Invia'> <input type='hidden' name='action' value='send'>";
                   echo"<input name='
    reset' type='reset' value='reset'></td>\n";
               echo"</tr>\n";
           echo" </table>\n";
        echo"</FORM>\n";
    echo"</div>\n";

    }
    else
    {
     echo"<div id='
    formremember'>\n

    ";
     echo"<FORM METHOD=POST ACTION='' name='
    test'>\n";
      echo"<table  id='
    rememberpass'>\n";
        echo"<tr>\n"; 
        echo"<td id='
    spacerremember'></td>\n";
        echo"<td id='
    spacerremembertext'><label>name</label></td>\n";
        echo"<td><INPUT TYPE='
    text' NAME='nick'></td>\n";
        echo"</tr>\n";
         echo"<tr>\n"; 
         echo" <td id='
    spacerremember'></td>\n";
           echo" <td id='
    spacerremembertext'><label>email</label></td>\n";
            echo"<td><INPUT TYPE='
    text' NAME='email'></td>\n";
              echo"</tr>\n";
               echo" <tr>\n";
                 echo"<td></td> <td></td>\n";
                   echo"<td><input name='
    submit' type='submit' value='Invia'> <input type='hidden' name='action' value='send'>";
                   echo"<input name='
    reset' type='reset' value='reset'></td>\n";
               echo"</tr>\n";
           echo" </table>\n";
        echo"</FORM>\n";
    echo"</div>\n";
    }



    ###################################################################################################################################
    #################//QUI CERCHERO DI FARE  IL CONTROLLO PER L INSERIMENTO DELLA NUOVA PASSWORD!!!!          :)      #################
    ###################################################################################################################################


    ?> 
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    A parte che il codice è molto sporco.. ma se restringessi il campo alle sole righe che interessano sarebbe più facile aiutarti..
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,802
    ciao il fatto che e tutto lo script che interessa e ti spiego perche quando devi ricevere la password lo script ti fa il controllo poi se i dati sono corretti ti invia l email con la nuova password una volta che ricevi l email clicchi sul link e li attivi la password e li dovresti vedere l altro form con i suoi relativi controlli
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.