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:
Come posso inserire anche l'elaborazione e l'invio dell'allegato?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"); } ?>
Grazie in anticipo.

Rispondi quotando