Problème code => mail () - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Problème code => mail ()
 
Profil : IDNaute
Plus d'informations

Bonjour, je ne comprend pas pourquoi mon code ne marche pas. Quand je clique sur envoyer, ça ne fait rien.
merci d'avance.

Code :
  1. <?php
  2. $email_webmaster = "monemail@serv.fr";//// indiquer votre adresse email /////
  3. // === traitement des données du formulaire ============================================================
  4. if (isset($_POST["envoyer"])){
  5. // le formulaire a été soumis
  6.         $etat = "erreur";
  7. // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
  8. // --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
  9.         if (isset($_POST["email_expediteur"])) {
  10.                 $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
  11.         }
  12.         if (isset($_POST["titre"])) {
  13.                 $_POST["titre"]=trim(stripslashes($_POST["titre"]));
  14.         }
  15.        
  16.         }
  17.         // --- test de la validité des champs saisis ---
  18.         if (empty($_POST["email_expediteur"])) {
  19. // il manque l'email de l'expéditeur
  20.                 $erreur="Saisissez votre adresse email...";
  21.         }
  22.         elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$",$_POST["email_expediteur"])){
  23. // l'adresse e-mail n'est pas valide
  24.                 $erreur="Votre adresse e-mail n'est pas valide...";
  25.         }
  26.      
  27.         else {
  28. // --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
  29.                 $etat="ok";
  30. // --- le formulaire n'a pas été soumis ---
  31.           $etat="attente";
  32. }
  33. // === fin de traitement des données du formulaire =======================================================
  34. ?>
  35. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  36. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  37. <html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
  38. <head>
  39. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  40. <title>Formulaire de contact</title>
  41. </head>
  42. <body>
  43. <div align="center">
  44. <h1> </h1>
  45. <h1> </h1>
  46. <h1> </h1>
  47. <?php
  48. if ($etat!="ok" ){// le formulaire n'a pas été soumis, ou soumis avec une erreur
  49.         if ($etat=="erreur" ){
  50. //le formulaire a été soumis avec une erreur
  51.                         echo "<p><strong>".$erreur."</strong></p>\n";
  52. // afficher le message d'erreur
  53.         }
  54. ?>
  55.         <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
  56.         <h2>Contacter le webmaster (le nom de votre site)</h2><!-- mettre le nom de votre site ou autre -->
  57.         <blockquote>
  58.           <p>
  59.             <label for="email_expediteur">          Votre adresse e-mail (obligatoire):</label>
  60.             <br />
  61.             <input name="email_expediteur" type="text" class="minuscule" id="email_expediteur" value="<?php
  62.         if (!empty($_POST["email_expediteur"])) {
  63. // l'adresse email de l'expéditeur a été saisie: la réafficher
  64.                 echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
  65.         }
  66.         ?>" size="60" />
  67.           </p>
  68.           <p>
  69.             <label for="titre">Titre de message (facultatif):</label>
  70.             <br />
  71.             <input type="text" size="100" name="titre" id="titre" value="<?php
  72.         if (!empty($_POST["titre"])) {
  73. // le titre du message a été saisi: le réafficher
  74.                 echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
  75.         }
  76.         ?>" />
  77.           </p>
  78.           <p>
  79.             <label for="message"></label>
  80.             <br />
  81.           </p>
  82.         </blockquote>
  83.         <div align="center">
  84.         <p><input type="submit" name="envoyer" value="Envoyer" />
  85.         </p></div>
  86.         </form>
  87. <?php
  88. }
  89. else {
  90. // le formulaire a été soumis sans erreur, on envoie le mail
  91. /* sécurisation maximum du formulaire */
  92. function saut_ligne1($_SL1) /* première fonction pour remplacer les sauts de ligne du textarea par balise propre slt */
  93. {
  94. $patternssl1[0] = '/\n/';
  95. $replacementstsl1[0] = "<sautlignemessage>";
  96. return preg_replace($patternssl1,$replacementstsl1,$_SL1);
  97. }
  98. function saut_ligne2($_SL2) /* deuxième fonction pour remplacer les balises propre slt en slt standard */
  99. {
  100. $patternssl2[0] = '/<sautlignemessage>/';
  101. $replacementstsl2[0] = "\n";
  102. return preg_replace($patternssl2,$replacementstsl2,$_SL2);
  103. }
  104. function PAMTI($_stringt) /* troisième fonction éviter les injection autre destinataire dans le message */
  105. {
  106. $patternst[0] = '/BCC:/i';
  107. $patternst[1] = '/CC:/i';
  108. $patternst[2] = '/bcc/i';
  109. $patternst[3] = '/cc/i';
  110. $replacementst[0] = 'erreur';
  111. $replacementst[1] = 'erreur';
  112. $replacementst[2] = 'erreur';
  113. $replacementst[3] = 'erreur';
  114. return preg_replace($patternst,$replacementst,$_stringt);
  115. }
  116. function PAMHI($_string) /* quatrième fonction éviter les injections autre destinataire dans les autres champ du message */
  117. {
  118. $patterns[1] = '/BCC:/i';
  119. $patterns[2] = '/cc:/i';
  120. $patterns[3] = '/bcc/i';
  121. $patterns[4] = '/cc/i';
  122. $patterns[5] = '/,/';
  123. $patterns[6] = '/To/i';
  124. $patterns[7] = '`[\x00-\x1F"]`';
  125. $replacements[1] = 'erreur';
  126. $replacements[2] = 'erreur';
  127. $replacements[3] = 'erreur';
  128. $replacements[4] = 'erreur';
  129. $replacements[5] = 'erreur';
  130. $replacements[6] = 'erreur';
  131. $replacements[7] = 'erreur';
  132. return preg_replace($patterns,$replacements,$_string);
  133. }
  134. function PAMETI($_string) /* cinquième fonction éviter les injections autres destinataires dans le header du message */
  135. {
  136. $patterns[1] = '/BCC:/i';
  137. $patterns[2] = '/CC:/i';
  138. $patterns[3] = '/bcc/i';
  139. $patterns[4] = '/cc/i';
  140. $patterns[5] = '/,/';
  141. $patterns[6] = '/To/i';
  142. $replacements[1] = 'erreur';
  143. $replacements[2] = 'erreur';
  144. $replacements[3] = 'erreur';
  145. $replacements[4] = 'erreur';
  146. $replacements[5] = 'erreur';
  147. $replacements[6] = 'erreur';
  148. return preg_replace($patterns,$replacements,$_string);
  149. }
  150.         $entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
  151.         $entete .= "MIME-Version: 1.0";
  152.         $message=saut_ligne1($_POST["message"]);
  153.         $message_envoye=saut_ligne2($message);
  154.         if (@mail(PAMHI($email_webmaster),PAMHI($_POST["titre"]),PAMTI($message_envoye),PAMETI($entete))){
  155. // mail envoyé
  156.                 echo "Votre message a été envoyé.<br />\n";
  157.                 echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
  158.         }
  159.         else {
  160. // erreur lors de l'envoi du mail
  161.                 echo "Un problème s'est produit lors de l'envoi du message.\n";
  162.                 echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
  163.         }
  164. }
  165. ?>
  166. <div align="center">
  167.   <input type=button value="Fermer le Formulaire" onclick="javascript:self.close();" />
  168. </div></div>
  169. </body>
  170. </html>

Liens sponsorisés


Inscrivez-vous ou connectez-vous pour masquer ceci.

Profil : IDNaute
Plus d'informations

help please !!!

Profil : IDNaute
Plus d'informations

Votre hébergeur a t il la fonction e mail ?


---------------
Kommunauty : L'actualité informatique, les tutoriels, et l'entraide sur le site de notre communauté ! Ragnarok battle offline
Profil : IDNaute
Plus d'informations

oui oui bien sûr, je suis chez multimania qui prend en charge PHP...

Cas désesperé
Profil : IDNaute
Plus d'informations

le php, mais le mail ?
OVH démo tourne avec du php, mais pas de fonction mail ;)


---------------
http://trust-in-us.fr/blog_nico Un blog, un vrai... pas un skyblog !
Profil : IDNaute
Plus d'informations

Ah d'accord je comprend.
Oui, il a la fonction mail puisque j'ai d'autres pages avec mail sur le même serveur.


  FORUM Infos-du-Net » Programmation » Problème code => mail ()

Aller à :
 

Liens