- Home
- Categorie
- Coding e Sistemistica
- Coding
- Invio modulo con file allegati
- 
							
							
							
							
							
Invio modulo con file allegatiSalve scusatemi se vi rompo ma non riesco a concludere nulla. 
 ho creato mail.php con questo segnato qui sotto visto che riusciva ad allegarmi almeno un file ma appena ho inserito i dati in piu quelli dopo il primo messaggio (messaggio .= non va piu mi da errore come mai? sapete dirmi perchè, dove cavolo sbaglio...
 <?php
 // Recupero il valore dei campi del form
 $destinatario = $_POST['[email protected]'];
 $mittente = $_POST['[email protected]'];
 $oggetto = $_POST['Nuovo Annuncio'];
 $messaggio = $_POST['NickName'];
 $messaggio .= $_POST['Citta'];
 $messaggio .= $_POST['Regione'];
 $messaggio .= $_POST['Siamo_Sono'];
 $messaggio .= $_POST['Password'];
 $messaggio .= $_POST['Conferma_Password'];
 $messaggio .= $_POST['Sito_Personale'];
 $messaggio .= $_POST['Testo_Annucio'];
 $messaggio .= $_POST['Hobby'];
 $messaggio .= $_POST['Mail_MSN'];
 $messaggio .= $_POST['Skype'];
 $messaggio .= $_POST['Telefono'];
 $messaggio .= $_POST['Conferma_Dichiarazione_Regolamento'];
 $messaggio .= $_POST['Regolamento'];
 // Valorizzo le variabili relative all'allegato
 $allegato = $_FILES['allegato']['tmp_name'];
 $allegato_type = $_FILES['allegato']['type'];
 $allegato_name = $_FILES['allegato']['name'];
 // Creo 2 variabili che riempirò più avanti...
 $headers = "From: " . $mittente;
 $msg = "";
 // Verifico se il file è stato caricato correttamente via HTTP
 // In caso affermativo proseguo nel lavoro...
 if (is_uploaded_file($allegato))
 {
 // Apro e leggo il file allegato
 $file = fopen($allegato,'rb');
 $data = fread($file, filesize($allegato));
 fclose($file);
 // Adatto il file al formato MIME base64 usando base64_encode
 $data = chunk_split(base64_encode($data));
 // Genero il "separatore"
 $semi_rand = md5(time());
 $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
 // Aggiungo le intestazioni necessarie per l'allegato
 $headers .= "\nMIME-Version: 1.0\n";
 $headers .= "Content-Type: multipart/mixed;\n";
 $headers .= " boundary="{$mime_boundary}"";
 // Definisco il tipo di messaggio (MIME/multi-part)
 $msg .= "This is a multi-part message in MIME format.\n\n";
 // Metto il separatore
 $msg .= "--{$mime_boundary}\n";
 // Questa è la parte "testuale" del messaggio
 $msg .= "Content-Type: text/plain; charset="iso-8859-1"\n";
 $msg .= "Content-Transfer-Encoding: 7bit\n\n";
 $msg .= $messaggio . "\n\n";
 // Metto il separatore
 $msg .= "--{$mime_boundary}\n";
 // Aggiungo l'allegato al messaggio
 $msg .= "Content-Disposition: attachment;\n";
 $msg .= " filename="{$allegato_name}"\n";
 $msg .= "Content-Transfer-Encoding: base64\n\n";
 $msg .= $data . "\n\n";
 // chiudo con il separatore
 $msg .= "--{$mime_boundary}--\n";
 }
 else
 {
 $msg = $messaggio;
 }
 // Invio la mail
 if (mail($destinatario, $oggetto, $msg, $headers))
 {
 echo "<p>Mail inviata con successo!</p>";
 }else{
 echo "<p>Errore!</p>";
 }
 ?>
 quando faccio invio mi da errore!! come faccio a aggiungere i campi che mi interessano e inserire altri due input carica file dalla base tot.3 grazie mille. Scusatemi x il casino nel descrivervi il tutto.