Buongiorno a tutti..
ho un problemino con un form di contatto dove controllo i campi obbligatori grazie ad una funzione javascript e passo poi i valori ad un file php che processa la mail..
Tutto bene se non fosse che ogni tanto mi arrivano mail vuote...
Ho provato più volte a mandarmi dei messaggi dal form e tutto funziona perfettamente..
è possibile che ci sia qualcosa di sbagliato nel codice e che in qualche modo partano "automaticamente" delle mail vuote e che ancora più grave non arrivino quelle compilate in modo corretto?
Qua sotto il codice dei tre file
Pagina contact.php dove c'è il form di contatto:
codice:
<form id="modulo" onsubmit="return validazione();" action="send_message.php" method="post">
<fieldset>
<div class="inquiryfield">
<label for="firstname" class="blue">First name *</label>
<input class="input" name="firstname" id="firstname" value="" />
</div>
<div class="inquiryfield">
<label for="lastname" class="blue">Last name *</label>
<input class="input" name="lastname" id="lastname" value="" />
</div>
<div class="inquiryfield">
<label for="email" class="blue">Email *</label>
<input class="input" name="email" id="email" value="" />
</div>
<div class="inquiryfield">
<label for="message" class="blue">Message *</label>
<textarea name="message" id="message" class="textarea" cols="" rows=""></textarea>
</div>
<div class="inquiry6field">
<label class="blue2">Privacy:</label>
<label for="privacy_si" class="blueRadio">Yes</label><input type="radio" name="privacy" id="privacy_si" class="inputradiosi" value="Accetto"/>
<label for="privacy_no" class="blueRadio">No</label><input type="radio" name="privacy" id="privacy_no" class="inputradiono" value="Non accetto" checked="checked"/>
</div>
<div class="inquiry7field">
I authorize the use of my personal details in conjunction with article 13 of the new privacy laws (D.Lgs 196 of 30 June 2003).</p>
</div>
<div class="buttonholder">
<input class="cssbutton glass c" type="reset" value=""/>
<input class="cssbutton glass d" type="submit" value=""/>
</div>
</fieldset>
</form>
Qua il controllo del file javascript contact_validate.js:
codice:
function validazione(){
with(document.getElementById("modulo")) {
if(firstname.value=="") {
alert("Insert first name");
firstname.focus();
return false;
}
if(lastname.value=="") {
alert("Insert last name");
lastname.focus();
return false;
}
if(email.value=="") {
alert("Insert e-mail");
email.focus();
return false;
}
var stato=true;
if(email.value.indexOf(" ")!=-1) {
email.focus();
stato=false;
}
var chiocciola=email.value.indexOf("@");
if(chiocciola<2) {
email.focus();
stato=false;
}
var punto=email.value.indexOf(".", chiocciola);
if(punto<chiocciola+3) {
email.focus();
stato=false;
}
var lung=email.value.length;
if(lung-punto<3) {
email.focus();
stato=false;
}
//if(stato) {
//alert("E-mail is valid");
//}else{
if(stato==false) {
alert("E-mail is not valid");
return stato;
}
if(message.value=="") {
alert("Insert message");
message.focus();
return false;
}
if (privacy_si.checked == false) {
alert ("You have to agree to the privacy terms");
privacy_si.focus();
return false;
}
}
alert("Message sent");
return true;
}
e qua il file send_message.php che processa i dati ed invia la mail:
codice:
<?
function apst($value) {
$value = ereg_replace("[\]", "", $value);
return($value);
}
?>
<?
$date = date("d/m/y - H:i:s");
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$message = $_POST['message'];
$privacy = $_POST['privacy'];
if ($privacy == "accetto")
{
$percorso="accetto";
} else {
$percorso="non accetto";
}
$destinatario = "info@miosito.com";
$oggetto = "Contact da miosito.com";
$headers = "From: $email";
$headers .= "\r\nX-Mailer: PHP/" . phpversion();
$msg = "Data - Ora: $date\r\n";
$msg.= "Contatto da: $firstname $lastname\r\n";
$msg.= "E-mail: $email\r\n\r\n";
$msg.= "______________________________________________\r\n\r\n";
$msg.= "Messaggio:\r\n";
$msg.= apst($message);
$msg.= " \r\n\r\n\r\n";
$msg.= "Privacy: [$privacy] \r\n";
$destinatario2 = "$email";
$msg2.= "Thank you for contacting us! \r\n\r\n";
$msg2.= "Mario Rossi";
$oggetto2 = "Email from Mio Sito";
$headers2 = "From: info@miosito.com";
{
mail($destinatario, $oggetto, $msg, $headers);
mail($destinatario2, $oggetto2, $msg2, $headers2);
echo "
<html>
<head>
<META http-equiv='refresh' content='0;URL=contact.php'>
</head>
</html>
"; }
?>
Spero possiate aiutarmi..
Grazie
Claudio