Pb formulaire de contact html/php

Gs -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
bonjour, étant débutant en php, j 'ai suivi un video tuto qui apprend à faire un formulaire de contact mais j'ai du me tromper quelque part car celui-ci ne fonctionne pas du tout...
Merci de m'aider j'ai du simplement confondre un parenthèse avec une accolade ou un truc du genre mais je n'arrive pas à trouver aprés une aprés-midi de bataille
voici mon code html pour la page contact.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>SGcom</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" media="screen" type="text/css" href="design.css" />
<link href="styles/monstyle.css" rel="stylesheet" type="text/css" />
<link href="styles/stylecontact.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>
<div id="conteneur">
<div id="header"></div>

<div id="menu">
<ul id="bouton">
<li id="accueil"><a href="index.html">Accueil</a></li>
<li id="services"><a href="services.html">services</a></li>
<li id="tarifs"><a href="tarifs.html">tarifs</a></li>
<li id="contact"><a href="contact.html">contact</a></li>
</ul>
</div> <!-- FIN DIV "menu" -->
<div id= cadrehaut></div>
<div id="corps">
<form method="post" action="contact.php">
   <p>
       <label for="nom">Nom:</label><input type="text" name="nom" id="nom" />
   </p>
   <p>
       <label for="prenom">Prénom:</label><input type="text" name="prenom" id="prenom" />
   </p>
     <p>
       <label for="email">E-mail:</label><input type="text" name="email" id="e-mail" />
   </p>
   <p>
       <label for="objet">Objet:</label><input type="text" name="objet" id="objet" />
   </p>
   <p>
       <label for="message">Message</label><br />
       <textarea name="message" cols="41" rows="10"></textarea>
   </p>
       <input type="submit" value="envoyer" /><br />
</form>
</div> 
<!-- FIN DIV "corps" -->
<div id="footer">
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="tarifs.html">Tarifs</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="mentionleg.html">Mentions légales</a></li></ul>
</div> <!-- FIN DIV "footer" -->
</div> <!-- FIN DIV "conteneur" -->
</body>
</html>


et voici mon code php enregistré dans contact.php:
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email']) && isset($_POST['objet']) && isset($_POST['message'])){
   extract($_POST);
	   if(!empty ($nom) && !empty ($prenom) && !empty ($email) && !empty ($objet) && !empty ($message) && !empty ($nom)){
		  $destinataire="contact@sg-com.fr";
		  $sujet="contact client";
		  $msg="Une nouvelle question est arrivée \n
				Nom: $nom \n
				Email: $email \n
				Message: $message";
		  $entete="From: $nom \n Reply-To: $email";
mail($destinataire,$sujet,$msg,$entete);
	echo "le mail a bien été envoyé"
 }
	   else{
	echo "vous n'avez pas rempli tous les champs";}
   }
?>


merci à tous ceux qui pourront m'aider et m'éviter de perdre encore une journée à batailler la dessus ....

6 réponses

bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
Bonsoir!
Quel message d'erreur ça t'affiche?
0
gs
 
justement, sur manp aucun message d'erreur, une page blanche s'offre à moi qd j'appuie sur le bouton submit ?!
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<input name="envoyer" type="submit" value="envoyer" /><br />


<?php
if(isset($_POST['envoyer']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email']) && isset($_POST['objet']) && isset($_POST['message'])){
   extract($_POST);
	   if(!empty ($nom) && !empty ($prenom) && !empty ($email) && !empty ($objet) && !empty ($message)){//tu avais deux fois $nom
			$destinataire="contact@sg-com.fr";
			$sujet="contact client";
			$msg="Une nouvelle question est arrivée \n
				Nom: $nom \n
				Email: $email \n
				Message: $message";
			$entete="From: $nom \n Reply-To: $email";
			//ton entete n'est pas conforme le From c'est vu du serveur, donc c'est toi et ton email à toi, celui qui est reconnu par ton hebergeur
			$envoi=mail($destinataire,$sujet,$msg,$entete);
			if($envoi){
				echo "le mail a bien été envoyé"; //la il te manquait un ;
			}else{
				echo "le mail n'a pas été envoyé";
			}
		}else{
			echo "vous n'avez pas rempli tous les champs";
	}
}
?>
0
gs
 
merci pour ta réponse, je teste ça tout de suite...
et je vous tiens au courant
0

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

Posez votre question
gs
 
ça marche toujours pas même en supprimant l'en-tête invalide.
J'ai suivi le tutoriel :
http://www.webdesign-tutoriaux.com/tutoriel-1394.html
et la partie "en tête" qu'il organise de la même manière récupère l'adresse mail écrite par le visiteur dans le champ email pour ensuite réorganiser le formulaire qui nous ait retourné... et chez lui ça marche, ... mais ça à la limite c secondaire...
Je comprend pas, qd je teste et que je ne rempli pas tout les champs: aucun message sous mamp et pareil si je remplie tout le formulaire... aucun "votre message à bien été envoyé" ou encore aucun autre message d'erreur, page blanche et c'est tout !!!

Aidez moi please, j'suis dans la m**de
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Tu es sous mamp ça veux dire que ton serveur est en local sur ton mac ?

Alors deux conditions
- il faut que ton mamp soit configuré pour l'envoi des mails, vas voir les tutos la dessus
- il faut aussi que ton FAI autorise l'envoi de mails via leur SMTP
0