Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 36
  1. #21
    ciao dottwatson ho dato un occhiata al codice postato ma ho notato che hai solamente messo all'inizio del codice

    extract($_POST);

    ma poi il codice che mi avevi postato precedentemente che ci devo fare?

    sono un attimino confus
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  2. #22
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    è un piccolo trucchetto che rende la facile la vita....

    extract ($_POST)

    immaginiamo che tu ricevi dal form html i campi nome_cognome, email, commenti.

    per accedere a quelle variabili dovresti scrivere

    $_POST['nome_cognome']

    $_POST['email']

    $_POST['commenti']

    utlizzando extract($_POST) (che $_POST è come se fosse un array di tutto ciò che gli arriva dal form) non fai altro che accorciare i tempi e lui fa quello che faresti tu scrivendo

    $nome_cognome=$_POST['nome_cognome'];
    $email=$_POST['email'];
    $commenti=$_POST['commenti'];

    ovvero legge la chiave della variabile $_POST, la assegna al nome della variabile con $ davanti, e a quella variabile assegna il valore corrispondente.

    funziona con tutti gli array mentre il suo opposto è compact()

    il tuo codice era gia completo di per se come lo avevi premodificato, ma non sarebbe mai funzionato in quanto $nome_cognome per lui era una nuova variabile e basta,quindi vuota.

    Con extract ($_POST) hai fatto tutte le assegnazioni in una botta sola.

    Non viene usato troppo spesso e non capisco perchè vista la sua enorme comodità. Come tante altre cose del php

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #23
    ok capito

    adesso pero' non ho ancora inserito i dati relativi alla password... ricordi? come devo cambiare il codice?
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  4. #24
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    ciao dottwatson,

    le funzioni extract() e compact() non le conoscevo nemmeno io ma premetto che sono agli inizi.

    Originariamente inviato da dottwatson
    Non viene usato troppo spesso e non capisco perchè vista la sua enorme comodità. Come tante altre cose del php
    Dando un occhiata al manuale, credo che non viene usata frequentemente, perchè potrebbero insorgere dei problemi di sicurezza, almeno per gli input compilati dagli utenti. Forse va bene come soluzione provvisoria per ovviare al problema del register_globals settato su off.

    Citazione del manuale: Non utilizzare extract() su dati non convalidati, come gli input degli utenti ($_GET, ...). Se lo si deve fare, ad esempio per eseguire temporaneamente vecchio codice basato su register_globals,...

    Scusa la parentesi fedemarkez, ma hai provato almeno a metter dentro gli input per lo username e la password nella parte HTML? Poi il resto in PHP ti ha già risposto dottwatson vedi all'inizio.

  5. #25
    jeppox io sono fermo al codice che ho postato poco sopra... non sono andato avanti per non fare casini... come devo andare avanti?
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  6. #26
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    come devi fare, ti è stato detto sopra da diversi, dici che non vuoi fare casini, ma a me puzza di non voglia di farne. inserisci 2 input per lo username e la password nella parte HTML, se non sai come, qui trovi un estratto della guida di html.it

    http://xhtml.html.it/guide/lezione/1698/il-tag-input/

    non restare fermo ad aspettare, almeno prova o leggi, se no non impari mai no?
    dopo un anno e mezzo si dovrebbe essere in grado almeno di sapere dove leggere no?

    leggi anche la parte sui moduli:

    http://xhtml.html.it/guide/leggi/51/guida-html/

    :rollo:

  7. #27
    non ho bisogno del campo username, mi serve solo il campo password

    allora nella pagina del form ho scritto questo:

    Codice PHP:
    <input name="password" type="password" value="" size="10"
    puo' andare?

    ora pero' mi devi suggerire come integrare il codice PHP che mi ha scritto dottwatson sul mio file PHP.. quello da solo non riesco!
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  8. #28
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    ora prima di inviare l'email fai un piccolo controllo della password in PHP come ti ha già postato dottwatson all'inizio:

    Codice PHP:
    //settaggio della password 
    $password "passwordchevuoi";

    if (
    $_POST['password'] == $password

        
    //inizio l'invio dell'email 
        
    mail("$destinatario","$oggetto_email","$corpo""From: $nome_mittente <$email_mittente>"); 

    else 

        
    //spiacente password errata
    }
    ... 

  9. #29
    allora ho modificato il codice, pero' anche se scrivo una password diversa da quella impostata, mi manda lo stesso l'email

    ti posto il codice aggiornato:

    Codice PHP:
     <?php

    //email del destinatario del modulo
    $destinatario "maimail@miamail.it";

    //nome mittente per la corretta intestazione del modulo
    $nome_mittente "$nome_e_cognome";

    //email mittente per per la corretta intestazione del modulo
    $email_mittente "$email";

    //oggetto dell'email
    $oggetto_email "$tipo";

    //se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y". valori possibili: "y" e "n"
    $all_free "n";

    //se invece avete messo "n" inserire tra virgolette, separati da virgola, i nomi dei campi da rendere OBBLIGATORI
    //Esempio: $campi_req = array("telefono","via");
    $campi_req = array("nome_e_cognome","messaggio");

    //controllo del campo email? valori possibili: "y" e "n"
    $obbligo_email "y";

    //obbligare l'utente ad accettare le condizioni? valori possibili: "y" e "n"
    //$accetta_condizioni = "y";

    //url della pagina di ringraziamento
    $pagina_grazie "grazie.htm";

    //url della pagina errore campi vuoti
    $pagina_error_empty "campi_vuoti.htm";

    //url della pagina errore email
    $pagina_error_email "errore_email.htm";

    //url della pagina errore condizioni non accettate
    //$pagina_error_condizioni = "http://www.sito.it/errore_condizioni.htm";

    //url della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer "errore_email.htm";

    //settaggio della password
    $password "abc555";

    if (
    $_POST['password'] == $password)
    {
        
    //inizio l'invio dell'email
        
    mail("$destinatario","$oggetto_email","$corpo""From: $nome_mittente <$email_mittente>");
    }
    else
    {
        
    //spiacente password errata


    //orario e data
    $ora date ("H:i:s"); 
    $data date ("d/m/Y");

    //intestazione dell'email (arriva al destinatario)
    $corpo "
    Modulo inviato il 
    $data alle ore $ora\n
    Riepilogo dati:\n
     ____________________________________________________________\n"
    ;

    //======================= NON TOCCARE NULLA... SE NON VUOI INCASINARE QUALCOSA =======================\


    ########### CODICE VARIO ###########

    //variabili per rendere lo script compatibile anche con PHP 4.2 - copyright di Chris
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS))){  
    $_POST = &$HTTP_POST_VARS
    }

    //prendo il numero IP
    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");
            }
    ###################################


    //breve controllo
    if(empty($_SERVER["HTTP_REFERER"])){

        
    header ("Location: $pagina_error_referer");
        exit();
        
        }


    ########### CONTROLLO DEI CAMPI ###########
    $control_campi 0;

    if(
    $all_free != "y"){

        foreach(
    $_POST as $key => $valore){

            if(
    in_array($key,$campi_req)){

                if(
    trim($valore) == ""){

                
    $control_campi++;
                
                                        } 

                                    }

                                }

                            } else {

                
    $control_campi 0;    

                                    }                    

    ########### CONTROLLO EMAIL ###########
    $control_email 0;

    if(
    $obbligo_email == "y"){

        if(isset(
    $_POST['email'])){

            
    //espressione regolare 
            
    if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){

            
    $control_email++;

                                }

                            } else {

            
    $control_email 0;

                                }

                            }

    ########### CONTROLLO CONDIZIONI ###########
    $control_condizioni 0;

    if(
    $accetta_condizioni == "y"){

        if(isset(
    $_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

            
    $control_condizioni 0;

                } else {

            
    $control_condizioni ++;

                }

            }

    ########### VAI CON L'INVIO DELL'EMAIL ###########
    if($control_campi == 0){

            if(
    $control_email == 0){

                if(
    $control_condizioni == 0){

    foreach(
    $_POST as $key => $valore){

    $key ucfirst(stripslashes(trim($key)));
    $valore stripslashes(trim($valore));
    $key str_replace("_"," ",$key);

                if(
    trim($valore) == ""$valore "Non compilato";
                
                    
    $corpo .= $key .": "$valore ."\n\n";

                }
                
                    
    $corpo .= "Numero IP: $ipnumb"."\n\n";

    $corpo .= "
     ____________________________________________________________ \n\n

    "
    ;

        
    //inizio l'invio dell'email
    mail("$destinatario","$oggetto_email","$corpo""From: $nome_mittente <$email_mittente>");

                    
    header ("Location: $pagina_grazie");

                                    } else {

                    
    header ("Location: $pagina_error_condizioni");

                                }

                            } else {

                    
    header ("Location: $pagina_error_email");

                            }

                        } else {

                        
                    
    header ("Location: $pagina_error_empty");

                        }

    ?>
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  10. #30
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    si, dove l'hai messo tu è normale che ti spedisca l'email.

    il controllo lo devi effettuare poco prima dell'invio dell'email giù in basso, nella riga dove hai la funzione mail(), oh signur...

    Codice PHP:
    //inizio l'invio dell'email 
    mail("$destinatario","$oggetto_email","$corpo""From: $nome_mittente <$email_mittente>"); 

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 © 2026 vBulletin Solutions, Inc. All rights reserved.