Salve, vorrei sapere per quale motivo non riesco a ricevere i dati inviati da un formmail se in caso non venisse allegato nulla!!! Il PHP funziona perfettamente, ma solo se ci allego qualcosa!!!
C'è un modo per modificare il php?

formato PHP:

<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$cantina = $_POST['cantina'];
$vitigni = $_POST['vitigni'];
$gradazione = $_POST['gradazione'];
$territorio = $_POST['territorio'];
$esame_visivo = $_POST['esame_visivo'];
$esame_olfattivo = $_POST['esame_olfattivo'];
$esame_gusto_olfattivo = $_POST['esame_gusto_olfattivo'];

// 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"
// Serve per dividere, appunto, le varie parti del messaggio.
// Nel nostro caso separerà la parte testuale dall'allegato
$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 .= $cantina . "\n\n";
$msg .= $vitigni . "\n\n";
$msg .= $gradazione . "\n\n";
$msg .= $territorio . "\n\n";
$msg .= $esame_visivo . "\n\n";
$msg .= $esame_olfattivo . "\n\n";
$msg .= $esame_gusto_olfattivo . "\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 "

Mail inviata con successo!</p>";
}else{
echo "

Errore!</p>";
}
?>

Spero di trovare qualcuno che sappia risolvere il problema...grazie mille. Mate979