[php] envoi de mail formulaire.

Fermé
touf - 12 févr. 2008 à 15:26
 tewf - 13 févr. 2008 à 23:00
Bonjour,
Bonjour,
j'ai créé un formulaire en HTML avec les champs nom*, prénom,mail*,sujet,telephone et commentaire*(*étant les champs obligatoire).
A sa j'ai rajouter un fichier javascript qui controle la validation des champs du formulaire,
mon probleme concerne l'envoi des données,

pouvez vous m'aider ?
merci

voici mon fichier .php
<?php

$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formMail = $_POST['mail'];
$formSujet = $_POST['sujet'];
$formTel = $_POST['tel'];
$formMessage = $_POST['message'];

$msg="\nNom : ".$formNom."\nPrenom : ".$formPrenom."\nEmail : ".$formMail."\nSujet : ".$formSujet."\nTel : ".$formTel."\nMessage : ".$formMessage."\n";

$entete = "From: ".$formMail."\nContent-Type: text/html; charset=iso-8859-1";
// Envoi du mail
mail($formSujet,$msg,$entete);

header('location:confirmation.htm');
?>
A voir également:

41 réponses

salut,
ton mail ne s'envoie pas ??
tu as bien précisé ton serveur smtp dans php.ini ??
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
12 févr. 2008 à 15:30
Euh, ou est le problème ? ^^
0
désolé pour le double post y eu un un pti bug
je ne reçoi pas les donné et la redirection vers confirmation.htm fonctionne pas
jai une erreur qui s'affiche au ligne 14 et 16
0
j'ai modifier mon code par contre je reçoi bien le mail mais pas les donnée remplis

<?php 

$formNom = $_POST['nom']; 
$formPrenom = $_POST['prenom']; 
$formMail = $_POST['mail']; 
$formSujet = $_POST['sujet']; 
$formTel = $_POST['tel']; 
$formMessage = $_POST['message']; 


$email="XXX@free.fr"; 
$sujet="$formSujet"; 
$message="Nom : \n".$formNom."\n\n"; 
$message.="Prénom : \n $formPrenom\n\n"; 
$message.="Email : \n $formMail \n\n"; 
$message.="Téléphone : \n $formTel\n\n"; 
$message.="Message : \n $formMessage\n"; 

mail($email,$sujet,$message); 

header("Location:confirmation.htm");
?> 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vérifie si tes variables $message... sont bien remplies avec un echo...
0
c'est à dire , je débute en PHP
mon fichier .php contient le code si dessus, je recoi le mail mais les données rempli dans le formulaire
0
<?php

$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formMail = $_POST['mail'];
$formSujet = $_POST['sujet'];
$formTel = $_POST['tel'];
$formMessage = $_POST['message'];

echo("Message:".$message);

$email="XXX@free.fr";
$sujet="$formSujet";
$message="Nom : \n".$formNom."\n\n";
$message.="Prénom : \n $formPrenom\n\n";
$message.="Email : \n $formMail \n\n";
$message.="Téléphone : \n $formTel\n\n";
$message.="Message : \n $formMessage\n";

mail($email,$sujet,$message);

header("Location:confirmation.htm");
?>

et vérifie si dans ta page html il t'a affiché le message... tu recuperes peu etre pas correctement tes données _POST
0
fonctionne toujour pas
je recoi bien le mail mais toujour pas de donnée de plus j'ai le message d'erreur suivant:

Warning: Cannot modify header information - headers already sent by (output started at /mnt/103/sdb/d/9/XXX/formu.php:10) in /mnt/103/sdb/d/9/XXXX/formu.php on line 22

merci de votre aide
0
essaye avec un javascript:location href="confirmation.htm" ou quelque chose comme ça...
j'ai pas fait de php depuis longtemps...

sinon si il t'ecrit pas ton mail sur la page c'est que tu as pas correctement fais ton POST...

ton formulaire tu as bien type="POST" avec la bonne redirection ?
0
 <form action="formu.php" method=POST enctype="text/plain" name="formulaire">


le formulaire est bon jpense, c'est juste qu'il recupere pas les donné comme tu dit....
0
ah oui là ca se gate !!
verifie que les champs s'appellent bien 'nom' etc...
après ça sans voir le code je peux pas trop dire
0
l'email est bien envoyer , avec la redirection vers confirmation.htm mais le mail est vide :

Objet: [Aucun sujet]

Nom :


Prénom :


Email :


Téléphone :


Message :




<input name="nom" size="30" />
<input name="prenom" size="30" />
<input name="mail" size="30" />
<input name="sujet" size="30" />
<input name="tel" size="30" />
<textarea name="message" rows="6" wrap="virtual" cols="30"></textarea>



<?php 

$formNom = $_POST['nom']; 
$formPrenom = $_POST['prenom']; 
$formMail = $_POST['mail']; 
$formSujet = $_POST['sujet']; 
$formTel = $_POST['tel']; 
$formMessage = $_POST['message']; 


$email="tewfik.k95@free.fr"; 
$sujet="$formSujet"; 
$message="Nom : \n".$formNom."\n\n"; 
$message.="Prénom : \n $formPrenom\n\n"; 
$message.="Email : \n $formMail \n\n"; 
$message.="Téléphone : \n $formTel\n\n"; 
$message.="Message : \n $formMessage\n"; 

mail($email,$sujet,$message); 

header("Location:confirmation.htm"); 

?> 
0
ta feuille est 'submittée' ???

ton code php est-il dans la même page que ton formulaire ??
0
mon formulaire est bien submité
<input type="submit" name="submit" value="Valider" onClick="javascript:return verif();">


mon code php est dan une feuille externe et appelé par :
<form action="formu.php" method=POST enctype="text/plain" name="formulaire">
0
alors là bizzare
difficile à dire sans voir le code en entier

dans le onlick forçe le submit en javascript dans ta fonction verif()
0
Utilisateur anonyme
12 févr. 2008 à 16:57
 <form action="formu.php" method=POST enctype="text/plain" name="formulaire">

<input type="submit" name="submit" value="Valider" onClick="javascript:return verif();">


il y a ceux qu'il faut je crois, mon code PHP est dans une feuille externe , formu.php
0
 <form action="formu.php" method=POST enctype="text/plain" name="formulaire">

 <input type="submit" name="submit" value="Valider" onClick="javascript:return verif();">


j'ai une feuille externe contenant le PHP, formu.php
0
au lieu de mettre un bouton type submit, mets un bouton 'normal' et tu fais le submit (document.Forms["formulaire"].submit(); je crois) dans ta fonction verif()...
essaye je pense que ça vient de l'évenement onCLick et le submit en conflit...
0
ok merci désolé des post sa bug ché moi
0
fonctionne toujour pas;

mon formu.php :
<?php 

$formNom = $_POST['nom']; 
$formPrenom = $_POST['prenom']; 
$formMail = $_POST['mail']; 
$formSujet = $_POST['sujet']; 
$formTel = $_POST['tel']; 
$formMessage = $_POST['message']; 


$email="xxxxx@free.fr"; 
$sujet="$formSujet"; 
$message="Nom : \n".$formNom."\n\n"; 
$message.="Prénom : \n $formPrenom\n\n"; 
$message.="Email : \n $formMail \n\n"; 
$message.="Téléphone : \n $formTel\n\n"; 
$message.="Message : \n $formMessage\n"; 

mail($email,$sujet,$message); 

header("Location:confirmation.htm"); 

?> 



mon formulaire html:
 <form action="formu.php" method=POST enctype="text/plain" name="formulaire">
<input name="nom" size="30" />
<input name="prenom" size="30" />
<input name="mail" size="30" />
<input name="sujet" size="30" />
<input name="tel" size="30" />
<textarea name="message" rows="6" wrap="virtual" cols="30"></textarea>
<input type="submit" name="submit" value="Valider" onClick="javascript:return verif();">


et mon fichier javascript:
function verif() 
{ 
	var nom = document.formulaire.nom.value;
	if(document.formulaire.nom.value == "")
	{
		alert ('Veuillez entrer votre nom');
		document.formulaire.nom.focus();
		return false;
	}
	else
	if(document.formulaire.mail.value == "") {
  		alert("Veuillez entrer votre adresse electronique");
  		document.formulaire.mail.focus();
  		return false;
 	}
 	else
	if(document.formulaire.mail.value.indexOf('@') == -1) {
  		alert("Ce n'est pas une adresse electronique valide, verifiez la svp");
  		document.formulaire.mail.focus();
  		return false;
 	}
 	if(document.formulaire.message.value == "")
	{
  		alert("Veuillez entrer votre message");
  		document.formulaire.message.focus();
  		return false;
 	}
	else {return true;}

}


quelqu'un connai la solution , je recoi bien le mail mais je ne recoi pas pas le contenu rempli dans le formulaire.
merci
0

Discussions similaires