Envoi mail a partir de javascript

Fermé
michel33 - 23 janv. 2011 à 19:31
niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 - 23 janv. 2011 à 19:49
Bonjour,

j'ai créer un formulaire en html tout simple ensuite il y a une function javascript qui regarde si le formulaire est bien rempli et ensuite je voudrais envoi un mail avec les données inscrites dans le formulaire comment je peux faire?? je pense en appelant du php mais comment l'appeler a partir du javascript et comment faire pour récupérer les données??

voila mon javascript :

<script language="JavaScript">
<!--
function couleur(obj) {
     obj.style.backgroundColor = "#FFFFFF";
}
 
function check() {
	var msg = "";
 
		if (document.formulaire.mail.value != "")	{
		indexAroba = document.formulaire.mail.value.indexOf('@');
		indexPoint = document.formulaire.mail.value.indexOf('.');
		if ((indexAroba < 0) || (indexPoint < 0))		{
		document.formulaire.mail.style.backgroundColor = "#F3C200";
			msg += "Le mail est incorrect\n";
		}
	}
	else	{
		document.formulaire.mail.style.backgroundColor = "#F3C200";
		msg += "Veuillez saisir votre mail.\n";
	}
 
if (document.formulaire.nom.value == "")	{
		msg += "Veuillez saisir votre nom\n";
		document.formulaire.nom.style.backgroundColor = "#F3C200";
	}
 
if (document.formulaire.prenom.value == "")	{
		msg += "Veuillez saisir votre prenom\n";
		document.formulaire.prenom.style.backgroundColor = "#F3C200";
	}
if (document.formulaire.adresse.value == "")	{
		msg += "Veuillez saisir votre adresse\n";
		document.formulaire.adresse.style.backgroundColor = "#F3C200";
	}
if (document.formulaire.codepostal.value == "")	{
		msg += "Veuillez saisir votre Code Postal\n";
		document.formulaire.codepostal.style.backgroundColor = "#F3C200";
	}
if (document.formulaire.ville.value == "")	{
		msg += "Veuillez saisir votre Ville\n";
		document.formulaire.ville.style.backgroundColor = "#F3C200";
	}
if (document.formulaire.telf.value == "")	{
		msg += "Veuillez saisir votre Téléphone fixe\n";
		document.formulaire.telf.style.backgroundColor = "#F3C200";
	}
if (document.formulaire.message.value == "")	{
		msg += "Veuillez saisir votre Message\n";
		document.formulaire.message.style.backgroundColor = "#F3C200";
	}
 
	if (msg == "")
	{
	return(true);
	
	// je pense que ici il faudrait que j'appelle mon php mais comment??
	
	}
	else	{
		alert(msg);
		return(false);
	}
}
//-->
</script>


mon php:

 <?php
 
	$nom=$_POST['nom'];
	$prenom=$_POST['prenom'];
	$adresse=$_POST['adresse'];
	$codepostal=$_POST['codepostal'];
	$ville=$_POST['ville'];
	$telf=$_POST['telf'];
	$telp=$_POST['telp'];
	$email=$_POST['email'];
	$message=$_POST['message'];
 $msg = "Nom:\t$nom\n\n";
 $msg .= "Prenom:\t$prenom\n\n";
 $msg .= "Adresse:\t$adresse\n\n";
 $msg .= "Code Postal:\t$codepostal\n\n";
 $msg .= "Ville:\t$ville\n\n";
 $msg .= "Telephone fixe:\t$telf\n\n"; 
 $msg .= "Telephone Portable:\t$telp\n\n";
 $msg .= "E-mail:\t$email\n\n";
 $msg .= "Message:\t$message\n\n";

 $recipient = "mon email@gmail.com";
 $subject = "Formulaire";
 $mailheaders = "From: Mon test de formulaire<> \n";
 $mailheaders .= "Reply-To: $email\n\n";
 mail($recipient, $subject, $msg, $mailheaders);
 echo "<HTML><HEAD>";
 echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
 echo "<H1 align=center>Merci, $nom </H1>";
 echo "<P align=center>";
 echo "Votre formulaire à bien été envoyé !</P>";
 echo "</BODY></HTML>";
 ?>



mon html:

<form action="succes.html" method="post" enctype="application/x-www-form-urlencoded" name="formulaire"  onSubmit="return check();">
 
<!--
sur chaqu'un des champs nous appelons la fonction qui va rétablir la couleur initiale 
--> 
<p>Mail :</p> <input name="mail" type="text" onKeyUp="javascript:couleur(this);" ><br>
<p>Nom :</p> <input name="nom" type="text" onKeyUp="javascript:couleur(this);"><br>
<p>Prénom :</p> <input name="prenom" type="text" onKeyUp="javascript:couleur(this);"><br>
<p>Adresse :</p> <input name="adresse" type="text" onKeyUp="javascript:couleur(this);"><br>
<p>Code Postal et Ville:</p> <input name="codepostal" type="text" onKeyUp="javascript:couleur(this);"><input name="ville" type="text" onKeyUp="javascript:couleur(this);">
<p>Téléphone Fixe :</p> <input name="telf" type="text" onKeyUp="javascript:couleur(this);"><br>
<p>Téléphone Portable:</p> <input name="telp" type="text" onKeyUp="javascript:couleur(this);"><br>
<p>Message:</p> <textarea style="TEXT-ALIGN: left; WIDTH: 300px; HEIGHT: 100px"  rows="3" cols="21" name="message" onKeyUp="javascript:couleur(this);"></textarea><br>


<input type="submit" name="Submit" value="Envoyer">   
</form>


aidez moi svp c'est vraiment urgent merci :D



A voir également:

1 réponse

niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 86
23 janv. 2011 à 19:49
Salut, il faut que tu mettes à la place de <form action="succes.html" etc.. <form action="succes.php" et tu places ton php avant ton doctype. Par contre tu à fait les choses à l'envers normalement c'est d'abord le PHP qui vérifie les champs et ensuite tu rajoutes ton Javascript, dès fois que le client n'est pas activé son javascript :)
0