Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    71

    Aiuto form mail contatti con allegato

    Ciao, vi chiedo una grossa mano perpiacere.
    Uso questo file .php come pagina di elaborazione e invio dei dati da un modulo html incluso nel sito, e vorrei aggiungergli anche il campo allegato.
    Ci ho provato a modificarlo ma non ci sono riuscito, non sono un grande esperto di php.
    Questo è il codice:


    codice:
    <?php
    $email=$_POST['email'];
    
    #######################################
    #     IMPOSTAZIONI DA CONFIGURARE     #
    #######################################
    
    //(1) indirizzo email del destinatario del modulo
    $destinatario = " ";
    
    //(2) indirizzo email del mittente, campo FROM
    //    non toccare se desiderate che l'indirizzo email inserito nel modulo sia
    //    riportato nel campo DA del messaggio che sarà ricevuto.
    //    Se invece desiderate un campo fisso annullare la prima riga e abilitare
    //    la seconda inserendo la dicitura desiderata (per annullare mettere //
    //    all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
    $nome_mittente = "$email";
    // $nome_mittente = "Dal Modulo";
    
    //(3) oggetto del messaggio
    $oggetto_email = "Modulo inviato dal sito www.aaaaaa.it";
    
    //(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
    //    (valori possibili: "y" e "n")
    $all_free = "n";
    
    //(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
    //    da virgola, i nomi dei campi da rendere OBBLIGATORI
    //    Esempio: $campi_req = array("nome","telefono","via");
    $campi_req = array("nome","cognome","e-mail","indirizzo","citta","provincia","richiesta");
    
    //(6) controllo validità del campo email. (valori possibili: "y" e "n")
    $obbligo_email = "y";
    
    //(7) obbligare l'utente ad accettare le condizioni.
    //    (valori possibili: "y" e "n")
    $accetta_condizioni = "y";
    
    //(8) URL della pagina di ringraziamento
    $pagina_grazie = "grazie.htm";
    
    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty = "campi_vuoti.htm";
    
    //(10) URL della pagina errore email
    $pagina_error_email = "errore_invio.htm";
    
    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni = "condizioni_non_accettate.htm";
    
    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer = "invio_non_autorizzato.htm";
    
    #######################################
    #  FINE IMPOSTAZIONI DA CONFIGURARE   #
    #######################################
    
    //ora e data
    $ora = date ("H:i:s"); 
    $data = date ("d/m/Y");
    
    //intestazione email che arriva al destinatario
    $corpo = "Modulo inviato dal sito www.aaaaaa.it il $data alle ore $ora RIEPILOGO DATI:";
    
    //============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\
    
    
    ########### CODICI ###########
    
    //variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){  
    $_POST = &$HTTP_POST_VARS; 
    }
    
    //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");
    		}
    ###################################
    
    //controllo referer
    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'])){
    
            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 ++;
    
                }
    
            }
    
         
    
    ########### INVIO 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 ;
    
                }
    			
    				$corpo .= "
    Numero IP cliente: $ipnumb"."\n";
    
    $corpo .= "
    
    ____________________________________________________________ 
    
    
    
    
    
    ";
    
        
    // invio e-mail
    // Header Mail
    $headmail.="From: $nome_mittente <$nome_mittente>\n";
    $headmail.="Return-Path: $nome_mittente\n";
    $headmail.="User-Agent: Php Mail Function\n";
    $headmail.="X-Accept-Language: en-us, en\n";
    $headmail.="MIME-Version: 1.0\n";
    $headmail.="X-Priority: 1 (Highest)\n";
    $headmail.="Content-Type: text/html; charset=ISO-8859-1; format=flowed\n";
    $headmail.="Content-Transfer-Encoding: 7bit\n";
    
    ini_set('sendmail_from', "$destinatario");
    mail("$destinatario", "$oggetto_email", "$corpo", "$headmail");
    
                    header ("Location: $pagina_grazie");
    
                                    } else {
    
                    header ("Location: $pagina_error_condizioni");
    
                                }
    
                            } else {
    
                    header ("Location: $pagina_error_email");
    
                            }
    
                        } else {
    
                        
                    header ("Location: $pagina_error_empty");
    
                        }
    
    ?>
    Come posso inserire anche l'elaborazione e l'invio dell'allegato?
    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Prova a dare un'occhiata qui
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    71
    grazie per avermi risposto.
    Ne ho provati parecchi di codici come quello che mi hai fatto vedere ma purtroppo non riesco ad integrarli nel mio codice, e anche questo l'ho provato ma niente.
    Sapresti più o meno integrare sul mio codice le modifiche con il codice che mi hai fatto vedere?

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.