oh grazie tante per l'aiuto, non mi aspettavo che in una domenica soleggiata qualcuno dedicasse del tempo a creare un codice. Adesso voglio studiare le varie soluzioni che mi proponete.
D'accordo anche io che ogni "file" va cambiato in "attachment", ma io stesso non sapevo quale cambiare e quale no.
Comunque, per testare la form, sta su www.lalegatoria.it, nella quarta tab (preventivi), cliccate su "preventivi" e compare la form. Ma il flip funziona solo su Firefox (devo ancora implementarlo). Il file della form è il seguente:
Codice PHP:
<form method="post" id="captcha_form" name="captcha_form" action="contact/mailform.php" enctype="multipart/form-data">
<fieldset>
<ol>
<div id="columnleft">
<!-- <li id="ht"><label class="solo" for="htest">Leave this input blank</label><input type="text" class="soloinput" name="htest" id="htest" value="" /></li> -->
<br><br>
<li></li> <!-- this is a dotted border -->
<li><label class="solo" for="email">INDIRIZZO EMAIL</label><input type="text" class="soloinput" name="email" id="email" value="" /></li>
<li><label class="solo" for="name">NOME</label><input type="text" class="soloinput" name="name" id="name" value="" /></li>
<li><label class="solo" for="companyname">AZIENDA</label><input type="text" class="soloinput" name="companyname" id="companyname" value="" /></li>
<li><label class="solo" for="phone">TELEFONO</label><input type="text" class="soloinput" name="phone" id="phone" value="" /></li>
<li><label class="solo" for="besttime">CONTATTARE</label>
<select class="soloinput" name="besttime" id="besttime">
<option value="0"> </option>
<option value="in qualsiasi orario">qualsiasi orario</option>
<option value="di mattina">mattina</option>
<option value="nelle ore pasti">ore pasti</option>
<option value="di pomeriggio">pomeriggio</option>
<option value="la sera">sera</option>
</select>
</li>
</div>
<div id="columnright">
<br><br>
<li></li> <!-- this is a dotted border -->
<li><label class="solo" for="subject">OGGETTO</label><!-- <span class="required">(required)</span> -->
<select class="soloinput" name="subject" id="subject">
<option value=0> </option>
<option value=1>legatoria</option>
<option value=2>restauro</option>
<option value=3>grafica</option>
<option value=4>stampa</option>
<option value=5>amministrazione</option>
<option value=6>altro</option>
</select>
</li>
<li><label class="solo" for="message">RICHIESTA</label>
<textarea class="soloinput" name="message" id="message"></textarea>
</li>
<label class="solo" for='attachment'>CARICA FILE<br>.jpg .doc .pdf .zip .rar</label><input name="attachment" id="attachment" type="file" style="float:right; margin:10px 20px 0 0; padding:2px; color:#FFF; font-family:inherit; text-transform:lowercase;"/>
<input name="submit" id="submit" type="submit" value="invia" style="float:right; margin:10px 80px 0 0; padding:2px; color:#FFF; background-color:#67522C; font-family:inherit; text-transform:uppercase;" />
<input name="submit" id="submit" type="reset" value="cancella" style="float:right; margin:10px 20px 0 0; padding:2px; color:#FFF; background-color:#67522C; font-family:inherit; text-transform:uppercase;" />
</div>
</ol>
</fieldset>
</form>
mentre il file php (dal quale escludo una sezione antispam che non funziona) è il seguente:
Codice PHP:
<?php
$dontsendemail = 0;
$possiblespam = FALSE;
$strlenmessage = "";
$email = $_REQUEST['email'];
$emailaddress = "commerciale@lalegatoria.it";
$name = $_REQUEST['name'];strlencheck($name,0,60,"Hai indicato un nome troppo lungo, o non hai indicato un nome proprio. Torna indietro e correggi l'errore.");
$companyname = $_REQUEST['companyname'];strlencheck($companyname,0,60,"Hai indicato un nome aziendale troppo lungo, o non hai indicato un nome proprio. Torna indietro e correggi l'errore.");
$phone = $_REQUEST['phone'];checkphone($phone,0,"Hai indicato un numero di telefono improprio. Torna indietro e correggi l'errore.");
$besttime = $_REQUEST['besttime'];
$subject = array();
$subject[1] = legatoria;
$subject[2] = restauro;
$subject[3] = grafica;
$subject[4] = stampa;
$subject[5] = amministrazione;
$subject[6] = altro;
$subjectindex = $_REQUEST['subject'];
if ($subjectindex == 0 || !isset($_REQUEST['subject'])) die ("Non hai scelto l'oggetto del tuo messaggio. Torna indietro e correggi l'errore.");
else $subject = $subject[$subjectindex];
$message = $_REQUEST['message'];
$message="";
$message.="Name: ".$name."\r\n";
$message.="Company Name: ".$companyname."\r\n";
$message.="Phone Number: ".$phone."\r\n";
$message.="Best time to call: ".$besttime."\r\n";
$message = $message."\r\nMessage:\r\n".$_REQUEST['message'];
//mail($emailaddress,"$subject",$message,"From: $email" ); include "email_sent.php";
}
/* --------- attachments settings --------- */
$allowedExts = array("jpeg", "doc", "pdf", "zip", "rar");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((((($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "application/doc")
|| ($_FILES["file"]["type"] == "application/docx")
|| ($_FILES["file"]["type"] == "application/pdf"))
|| ($_FILES["file"]["type"] == "application/zip"))
|| ($_FILES["file"]["type"] == "application/rar"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
if (file_exists("attachments/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"attachments/" . $_FILES["file"]["name"]);
echo "Stored in: " . "attachments/" . $_FILES["file"]["name"];
}
}
else
{
echo "Invalid file";
}
/* ------------------ SMTP EMAIL SETTINGS ------------------------- */
require_once("class.phpmailer.php");
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "lalegatoria.it"; // SMTP server
// $mail->SMTPDebug = 2; // 0 for production use, 1 errors and messages, 2 messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPPort = 25; // set the SMTP port for the GMAIL server
$mail->Username = "smtp@lalegatoria.it"; // SMTP account username
$mail->Password = "Leogin02!"; // SMTP account password
$mail->CharSet = 'UTF-8'; // so it interprets foreign characters
$mail->From = $mail->Username;
$mail->AddAddress("commerciale@lalegatoria.it", "Paola & Alberto");
$mail->AddAttachment($attachments); // attachment
$mail->Subject = "RICHIESTA PREVENTIVO DAL NS. SITO WEB";
$mail->Body .= "Abbiamo appena ricevuto una richiesta di preventivo da: ".$_POST['name']."\n";
$mail->Body .= "Nome dell'azienda: ".$_POST['companyname']."\n\n";
$mail->Body .= "Contattare al numero: ".$_POST['phone']."\n";
$mail->Body .= "preferibilmente: ".$_POST['besttime']."\n";
$mail->Body .= "oppure all'indirizzo email: ".$_POST['email']."\n\n";
$mail->Body .= "Il messaggio ha per oggetto: ".$subject."\n";
$mail->Body .= "Testo del messaggio: ".$_POST['message']."\n\n";
$mail->Body .= "Il cliente ha inviato un allegato, che puoi scaricare da: http://www.lalegatoria.it/attachments/".$_POST['file']."\n\n";
$mail->Body .= "Non dimentichiamoci che la richiesta ha carattere di urgenza!";
$mail->WordWrap = 150;
if(!$mail->Send()) {
echo 'Non è stato possibile inviare il Vs. messaggio.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'La Vs. email è stata inviata. Riceverete ns. riscontro a breve.';
}
?>