Su consiglio di skjobax ho usato livevalidation per validare il mio form di invio email.
Il problema è che adesso non invia più la mail.
Secondo voi dov'è l'intoppo
il form:
codice:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Esempio LiveValidation - Validate.Email</title>
<script type="text/javascript" src="livevalidation.js"></script>
<link rel="stylesheet" href="livevalidation.css" type="text/css">
</head>
<body>
<form action="formmail.php" method="POST" enctype="multipart/form-data" onSubmit="return false">
<input type="hidden" name="destinatario" value="giuseppe.dibaudo@gmail.com">
<table border="0">
<tr>
<td>Nome e Cognome:</td>
<td><input type="text" name="nominativo" id="nominativo" value="" /></td>
</tr>
<tr>
<td>Tua Mail:</td>
<td><input type="text" name="mittente" id="mittente" value="" /></td>
</tr>
<tr>
<td>Oggetto:</td>
<td><input type="text" name="oggetto" value="" /></td>
</tr>
<tr>
<td>Messaggio:</td>
<td><textarea cols="20" rows="4" name="messaggio"></textarea></td>
</tr>
<tr>
<td>Allega file:</td>
<td><input type="file" name="allegato_1" /></td>
</tr>
<tr>
<td>Allega file:</td>
<td><input type="file" name="allegato_2" /></td>
</tr>
<tr>
<td>Allega file:</td>
<td><input type="file" name="allegato_3" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">Accetta le condizioni:
<input name="checkbox" type="checkbox" id="condizioni" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Invia" /></td>
</tr>
</table>
</form>
<script type="text/javascript">
var nominativo = new LiveValidation('nominativo', { onlyOnSubmit: true });
nominativo.add(Validate.Presence);
var mittente = new LiveValidation('mittente', { onlyOnSubmit: true });
mittente.add(Validate.Presence);
mittente.add(Validate.Email);
var condizioni = new LiveValidation('condizioni', { onlyOnSubmit: true });
condizioni.add(Validate.Acceptance);
</script>
</body>
</html>
il file che invia la mail:
Codice PHP:
<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$nominativo = $_POST['nominativo'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
$allegato_1 = $_FILE['allegato_1'];
$allegato_2 = $_FILE['allegato_2'];
$allegato_3 = $_FILE['allegato_3'];
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $mittente;
$mail->FromName = $nominativo;
$mail->AddAddress($destinatario);
$mail->AddCC($mittente);
$mail->AddReplyTo($mittente);
$mail->IsHTML(true);
$mail->Subject = $oggetto;
$mail->Body = $messaggio."
".$nominativo;
$mail->AltBody = $bodytxt;
$mail->AddAttachment($_FILES['allegato_1']['tmp_name'],$_FILES['allegato_1']['name']);
$mail->AddAttachment($_FILES['allegato_2']['tmp_name'],$_FILES['allegato_2']['name']);
$mail->AddAttachment($_FILES['allegato_3']['tmp_name'],$_FILES['allegato_3']['name']);
if(!$mail->Send()){
echo "Si è verificato un errore nell'invio della mail";
}else{
echo "Mail inviata con successo";
}
?>
Prima di inserire il controllo funzionava alla grande...e poi...niente