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

Rispondi quotando