Ho creato due file php per l'invio di dati e di un allegato (upload) tramite web in modo che il tutto arrivi alla mia casella email.
Il risultato è che la mail arriva, ma senza i dati inseriti nei campi della form e il file allegato...
Il codice mi sembra esatto, ma nn vorrei che ci siano dei settaggi particolari o permessi da impostare sul server dove ho il sito....
Di seguito il codice dei due file:
form.php
-----------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Curriculum</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="form2.php" method="post" enctype="multipart/form-data" name="curriculum vitae">
Nome:
<input name="nome" type="text" id="nome" maxlength="30" />
Cognome:
<input name="cognome" type="text" id="cognome" maxlength="30" />
</p>
<input name="upload_file" type="file" id="upload_file" />
</p>
<input name="submit" type="submit" value="invia" />
</p>
</form>
</body>
</html>
form2.php
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>prova2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?
require_once("class.phpmailer.php");
$cognome=$_POST['cognome'];
$nome=$_POST['nome'];
// preparo il testo
$testo=($nome!="")?"Nome: {$nome}\n":"";
$testo.=($cognome!="")?"Cognome: {$cognome}\n":"";
$mail = new PHPMailer();
$mail->From = "apache@plastik.it"; // from mail
$mail->FromName = "Sito Plastik"; // from name
// con AddAddress aggiungi tutti gli indirizzi a cui lo vuoi inviare
$mail->AddAddress("caldara.marco@plastik.it", "Marco C.");
$mail->Subject = "Allegato";
$mail->Body = $testo; // qui metti il tuo testo
/*
AGGIUNGIAMO L'ALLEGATO:
devi passare il file selezionato quindi usi l'array globale
$_FILES passandogli come chiave il nome del tuo campo di upload
[se noti in form io l'ho chiamato file],
e poi il nome del file, lasciando la chiave a name
*/
$mail->AddAttachment($_FILES['upload_file']['name'], $_FILES['curriculum.doc']['name']);
if(!$mail->Send())
{
echo "fatal server error";
exit;
}
?>
<body>
GRAZIE!
</body>
</html>
Dove è l'errore? Grazie