8791 sujets

Développement web côté serveur, CMS

Bonjour à tous et à toutes.
Je suis actuellement étudiant et durant les vacances scolaires, je passe de mon temps libre à faire et avancer des sites webs pour des proches.
Arrivé à la page de "Contact" je voulais faire un formulaire en PhP afin d'envoyer un mail avec toutes les informations saisies dans le formulaire. voici mon code (je ne m'y connais quasi pas...)
	    <?php

    $from = "tomlemagnific@hotmail.com";

    $to = $from;

    $subject = "Formulaire Site Web";

$message = "";

    $headers = "From:" .$from. "\r\n" ;
    $headers .='Reply-To:'.$from."\r\n";
    $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\r\n";
    $headers .='Content-Transfer-Encoding: 7bit'."\r\n";

    foreach ($_POST as $cle=>$valeur)
	{
    $message.= "$cle : $valeur.\n";
    }
    if(mail($to,$subject,$message,$headers))
        {
              echo 'Le message a bien été envoyé';
        }
        else
        {
              echo 'Le message n\'a pu être envoyé';
        } 
    ?>


Sommes nous d'accord sur le fait qu'apres avoir cliqué sur "Envoyer" une page devrait afficher "ce message a bien été envoyé" ou l'autre ? eh bien non mes amis... c'aurait été trop beau... j'ai un problème au niveau du "=>" ce qui me donne sur cette derniere page un:
$valeur)
	{
    $message.= "$cle : $valeur.\n";
    }
    if(mail($to,$subject,$message,$headers))
        {
              echo 'Le message a bien été envoyé';
        }
        else
        {
              echo 'Le message n\'a pu être envoyé';
        } 
    ?>


Qu'est-ce qui ne va pas ?

Merci beaucoup à tous ceux qui voudront bien se pencher sur mon problème.
Bonne continuation et à bientôt (au plus vite je l'espère) Smiley smile
up............................................................................................................
Bonjour,

Mis à part que je n'ai pas compris la deuxième partie de ton message (avec le => !), ton code fonctionne normalement... J'ai bien le message de réussite !
Il faut que tu précises le fameux problème de => Smiley smile
Bonjour,
Lorsque je clique sur le bouton "envoyer", comme tu as du le faire, on est censé avoir un message de reussite, or j'ai la moitié du code. Etant donné que c'est a partir du "=>" j'en conclue que c'est ici qu'il doit y avoir un soucis. Mais si tu me dis que tout marche bien... je comprends pas tout ^^'.
pour t'éclairer quand je clique sur envoyer j'ai ça:
$valeur) { $message.= "$cle : $valeur.\n"; } if(mail($to,$subject,$message,$headers)) { echo 'Le message a bien été envoyé'; } else { echo 'Le message n\'a pu être envoyé'; } ?>
Juste comme ça... Qu'est ce que tu mets comme données dans ton formulaire ?
Pourrais-tu fournir le code du formulaire aussi ?
Modifié par ArnoldM (13 Jul 2012 - 14:14)
Salut, voilà le code complet de ma page html:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Comaorg: Conseil, Management, Organisation !</title>
       <meta http-equiv="content-type" content="text/html; charset=utf8">
	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="Accueil.css" />
	   <link rel="icon" type="image/png" href="icone.png" />
   </head>
   <body>
<div id="en_tete">
  <img src="CoMaOrg.png" alt="CoMaOrg" />
</div>
<div id="menu">

		<a href="Accueil.html"><img src="accueil.png" onmouseover="this.src='accueil2.png';" onmouseout="this.src='accueil.png';"
 title="test" /></a> </br>
 	<a href="Objectifs.html"><img src="objectifs.png" onmouseover="this.src='objectifs2.png';" onmouseout="this.src='objectifs.png';"
	 title="test" /></a></br>
	<a href="Contact.html"><img src="contact.png" onmouseover="this.src='contact2.png';" onmouseout="this.src='contact.png';"
 title="test" /></a></br>
  <a href="http://comaorg.xooit.fr/"><img src="Forum.png" onmouseover="this.src='Forum1.png';" onmouseout="this.src='forum.png';"
	 title="test" /></a></br>
 </div>


<div id="corps">

<form action="formulaire.php" method="post"> 
<em>Enregistrement d'une demande de rendez-vous.</em>
<table border=1>
<TR><TD>Nom</TD>
<TD><input type="text" name="nom"/></TD></TR>
<TR><TD>Prenom</TD>
<TD><input type="text" name="prenom"/></TD></TR>
<TR><TD>E-mail</td><td> <input type="text" name="email"></TD></TR>
<TR><TD>Fonction</TD>
<TD><input type="text" name="fonction"/></TD></TR>
</SELECT></TD></TR><TR><TD>Besoins</TD>
<TD><textarea rows="3" name="Besoins"/>
</textarea></TD></TR>
<TR><TD COLSPAN=2><input name="submit" type="submit" value="Envoyer"/></TD></TR>
</TABLE>
</form>

</div>
 
<div id="pied_de_page">
   <!-- Enfin, on mettra en bas de la page le nom de l'auteur, un copyright... -->
</div>

   </body>
</html>

Bon... Eh bien, si le code fourni sur le forum est strictement identique à tes sources, j'ai testé en copiant-collant tes deux codes et en changeant juste l'email de destination et ça marche nickel !
Au final, reçois-tu le mail envoyé ?
Quel encodage utilises-tu pour tes fichiers ?

Normalement, le code contenu dans un fichier php ne s'affiche à l'écran que s'il n'est pas interprété par le module PHP au niveau du serveur (par exemple, ligne de chargement du module php non décommentée dans le fichier php.ini). Or ce que tu décris laisse à penser que le début de ton fichier formulaire.php est interprété jusqu'au "=>" puis que le serveur "décroche"... Comprends pas ! Smiley ohwell
Essaie de tester tes fichiers sur un autre serveur si tu peux... voir si ça passe.
Mais en fait je l'ai pas encore hébergé sur un serveur je le teste via firefox. serait-ce là le probleme ?
Ehhhhh ouiiii c'est pour ça ! En fait je comprenais pas pourquoi tu parlais de php.ini. Effectivement en utilisant wamp qui cree un serveur virtuel cela fonctionne très bien ! Mais quel boulet que je suis ... -.-' Merci beaucoup à toi, même si en fait je t'ai fait tourné en rond... pour rien.... Merci beaucoup Bonne continuation !