Premessa che di php ne so proprio poco.
Allora sto mettendo su un modulo affinchè nel modulo stesso sia possibile allegare una foto o il proprio curriculum.
Ora ho provato con formail e funziona bene pero' non riesco ad allegare il file.
Il codice di mio test è questo:
<body bgcolor="#FFFFFF">
<form action="formtomail.php" method=post>
<table border="0">
<tr>
<td colspan=2 height=60 valign=middle><font size="+2">FORM TO EMAIL DI ESEMPIO 2 </font></td>
</tr>
<tr>
<td>Nome e cognome:</td>
<td valign="top"><input type="text" name="Nome" size="40" style="font-family: Verdana; font-size: 8 pt"></td>
</tr>
<tr>
<td>Indirizzo:</td>
<td valign="top"><input type="text" name="Indirizzo" size="25" style="font-family: Verdana; font-size: 8 pt">
Cap:
<input type="text" name="Cap" size="6" style="font-family: Verdana; font-size: 8 pt">
Città:
<input type="text" name="Città" size="20" style="font-family: Verdana; font-size: 8 pt">
Provincia:
<input type="text" name="Provincia" size="2" style="font-family: Verdana; font-size: 8 pt"></td>
</tr>
<tr>
<td>E-mail:</td>
<td valign="top"><input type="text" name="Email" size="30" style="font-family: Verdana; font-size: 8 pt"></td>
</tr>
<tr>
<td>Telefono:</td>
<td valign="top"><input type="text" name="Telefono" size="20" style="font-family: Verdana; font-size: 8 pt"></td>
</tr>
<tr>
<td>Cellulare:</td>
<td valign="top"><input type="text" name="Cellulare" size="20" style="font-family: Verdana; font-size: 8 pt"></td>
</tr>
<tr>
<td>Seleziona argomento:</td>
<td valign="top"><select name="oggetto" id="oggetto">
<option>Richiesta informazioni tecniche</option>
<option>Richieste informazioni commerciali</option>
<option>Consigli e suggerimenti</option>
</select></td>
</tr>
<tr>
<td valign=top>Motivo della richiesta:</td>
<td valign="top"><textarea name=contenuto cols=60 rows=8 style="font-family: Verdana; font-size: 10 pt">
</textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type=hidden name=recipient value="tuoindirizzoemail@inserisciiltuosito.com">
<input type=hidden name=requested value="Nome,Indirizzo,Città,Cap,Telefono,contenuto ">
<input type=hidden name=ip value="">
<input type="reset" value="Cancella Modulo" name="Cancella" style="font-family: Verdana; font-size: 8 pt">
<input type="submit" value="Invia" style="font-family: Verdana; font-size: 8 pt"></td>
</tr>
<tr>
<td colspan=2 height=60 valign=middle> In questo form di esempio, sono obbligatori i campi Indirizzo, Città, Cap, Telefono e Contenuto.</td>
</tr>
</table>
</form>
Se aggiungo la stringa per far ricercare il file sul proprio pc metterei questo:
<tr>
<td>allega file:</td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input name="allegafile" type="file" id="allegafile" size="16"></td>
</tr>
pero' nel file di formail.php che codice dovrei mettere affinchè il file mi arrivi come allegato?
Questo è il codice del formail che sto cercando di capire :
<?php
//////////////////////////////////////////////////////////////
// //
// Gm Form Mail by Giancarlo Moschitta - giancarlo@myphp.it //
// //
// Versione 1.1 modificata da Alessandro Fiorotto //
// //
//////////////////////////////////////////////////////////////
// compatibilità con REGISTER_GLOBALS OFF e PHP 4.1
foreach ($_POST as $kk => $vv) {
$$kk = $vv;
}
$_P = $_POST;
$sitorigine=$_SERVER['HTTP_HOST'];
// controllo del campo mittente e settaggio variabile FROM
if (strlen($Email)==0) {
$Email = "ATTENZIONE NEL TUO FORM MANCA IL CAMPO Email <$sitorigine@>\r\n";
}
$from = "";
$from .= "From: $Email\r\n";
$from .= "Reply-To: $Email\r\n";
eval ("\$from = \"$from\";");
$richiesti=explode(",",$requested);
$nascosti=array("recipient","oggetto","requested", "redirect","ip","Email");
$count=count($richiesti);
for ($i=0; $i<$count; $i++){
$a = $richiesti[$i];
if(trim($_P[$a])=="") {
$mess.="Il campo $a è vuoto
";
}
}
if($mess) {
echo "<table><tr><td style=\"font-family:verdana;font-size:10 pt\">
Il form non è stato inviato per i seguenti errori:
$mess
</td></tr></table>";
}
else {
while(list($nome, $value) = each($_P)){
$campi[]=$nome;
if(!in_array($nome, $nascosti)){
$body.= "$nome: $value\n";
}
}
$head="Modulo proveniente dal sito $sitorigine\n";
$giorno=date("d/m/y");
$ora=date("H:i:s");
$foot="Compilato il $giorno alle ore $ora";
if (in_array ("ip", $campi)) {
$indirizzoip=$_SERVER['REMOTE_ADDR'];
$foot.=" dall'IP $indirizzoip\n";
}
$contenuto=$head.$foot."\n\n".$body;
mail($recipient, $oggetto, $contenuto, $from);
if ($redirect){
header("Location: $redirect");
}
else {
echo "Il modulo è stato inviato correttamente";
}
}
?>
Mi piacerebbe persino inserire la possibilità di mettere due allegati se qualche anima pia sa aiutarmi la ringrazio in anticipo