Buongiorno,
sto cercando di creare un form che spedisca i risultati via email, sto testando l'invio di email sul mio sito con piattaforma Windows ricevo come errore: HTTP error 405 - method not allowed.
allego codice:
index.html
codice:
<form id="formail" method="POST" action="">
<div id="risposta" style="margin-bottom: 30px; text-align: center; padding-top:15px; padding-bottom: 15px;">
</div>
<div class="sec-title text-center wow animated fadeInDown">
<h3 style="color:#25346d">DATI PERSONALI</h3>
<hr>
</div>
<div class="input-field">
<input type="text" id="nome" class="form-control" name="nome" value="" placeholder="Nome"/>
</div>
<div class="input-field">
<input type="text" id="cognome" class="form-control" name="cognome" value="" placeholder="Cognome"/>
</div>
<input type="submit" class="btn btn-blue btn-effect" id="invia" name="invia" value="Invia" />
</form>
jquery_mail.js
codice:
$(document).ready(function(){
console.log("eccomiiiiiiiiiiiiiiii");
$("#invia").click(function(){
$nome = $_POST['nome']; $cognome = $_POST['cognome'];
if (name.length<1) {
valid += '<p>Inserisci un nome valido.'+isr;
}
var valid = '';
var isr = ' </p>';
var name = $("#nome").val();
var surname = $("#cognome").val();
//Se i controlli non vengono superati, appare il messaggio di errore.
if (valid!='') {
$("#risposta").fadeIn("slow");
$("#risposta").html("<p><b>Errore:</b></p>"+valid);
$("#risposta").css("background-color","rgba(255,255,255,0.50)");
$("#risposta").css("margin-top","120px");
$("#risposta").css("color","rgba(255,255,255,1.00)");
$("#risposta").css("font-size","13px");
$("#risposta").css("width","60%");
$("#risposta").css("margin-left","20%");
$("#risposta").css("margin-right","20%");
}
//Se i controlli vengono superati, compare un messaggio di invio in corso
else {
var datastr ='name=' + name + '&mail=' + mail;
$("#risposta").css("display", "block");
$("#risposta").css("background-color","rgba(255,255,255,0.80)");
$("#risposta").css("color","rgba(255,255,255,1.00)");
$("#risposta").html("<p>Invio del messaggio in corso..</p>");
$("#risposta").fadeIn("slow");
setTimeout("send('"+datastr+"')",2000);
}
return false;
});
//Creazione della funzione di invio. Si baserà sul nostro file php "mail.php".
function send(datastr){
$.ajax({
type: "POST",
url: "mail.php",
data: datastr,
cache: false,
success: function(html){
$("#risposta").fadeIn("slow");
$("#risposta").html(html);
$("#risposta").css("background-color","rgba(255,255,255,0.80)");
$("#risposta").css("color","#3CB371");
setTimeout('$("#risposta").fadeOut("slow")',2000);
}
});
}
mail.php
codice:
<?php
//Recuperiamo tutte le variabili
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
//Qui andrà inserito il tuo indirizzo e-mail
$mail = "postmaster@xxxx.it"
$to = "xxxxx@xxxxx.it";
//Qui va l'oggetto della e-mail
$subject = "Ciaoooooo"
//Creazione del mesaggio da inviare
$message = "<p> <strong>Nome Cognome:</strong> ".$nome." ".$cognome." </p>";
$headers = "From: $mail \n";
$headers .= "Reply-To: $mail \n";
$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1 \n";
//Se l'e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
if(mail($to, $subject, $message, $headers){
echo "<p>Messaggio inviato con successo!</p>";
}
//Altrimenti un messaggio di errore
else{
echo "<p>Ci sono stati degli errori nell'invio della e-mail. Riprova</p>";
}
?>