[php] Fonction mail() sous IE8

Fonction mail() sous IE8 [php] - PHP - Programmation

Marsh Posté le 13-02-2010 à 16:01:51    

Bonjour à tous,
 
Encore un qui vient sur ce forum juste quand il a besoin d'aide... qui ne s'est présenté dans la section dédiée,etc...
Oui, ok, c'est vrai je suis coupable! Enfin n'étant pas habitué à participer à des forums je consulte pourtant souvent le forum Tom's Hardware et je dois dire que ça m'a souvent bien aidé !  
 
Voila le contexte
 
Je ne suis pas un pro de la programmation web, loin de là, cependant je dois développer une petite page de présentation de l'entreprise pour laquelle je travaille en attendant que l'on réalise une vraie page comme il se doit avec des professionnels de ce domaine.
 
L'idée étant un petit logo.jpg par-ci, un petit texte de présentation html par-là et un formulaire de prise de contact avec récupération du formulaire par email en php.
 
Et voila mon soucis
 
Pour la partie htlm, no souçaïlle, par contre la partie .php de récupération du formulaire et de son envoi par la fonction mail() me pose problème.
 
Tout a bien fonctionné pendant que je testais régulièrement sous Firefox... la petite pop-up "mail envoyé" s'affichait bien, et je recevais mes formulaire sur mon compte mail...
 
C'est en testant sous divers navigateurs que ça s'est gaté et en particulier pour Internet Explorer 8.
Systématiquement le mail ne part pas...  
 
Est-ce que vous auriez une idée d'où cela peut venir ?
 
Navigateurs testés
 
Firefox v3.5.7 :   ok
Opera  v10.10 : ok
Safari v4.0 : ok
Google Chrome v4.0 : ok
 
Internet Explorer v8.0.6001.18702IC : no ok
 
Code :

Code :
  1. <?php
  2.      $headers ="From: $email\r\n";
  3.      $headers .="Reply-To: $email\n";
  4.      $headers .="MIME-Version: 1.0\r\n";
  5.      $headers .="Content-Type: text/html\n";
  6.      $headers .="Content-Transfer-Encoding: 8bit";
  7.      $message ="<html><body>Message de : $nom <br>Societe : $societe<br>Message : $texte.</body></html>";
  8.      if(mail('me@gmail.com', 'Formulaire Web envoyé', $message, $headers))
  9.      {
  10. header('Content-Type: text/html; charset=ISO-8859-1');
  11. echo "<script language=\"javascript\">alert('Le message a bien été envoyé');document.location.href='index2.html'</script>";
  12.          
  13.      }
  14.      else
  15.      {
  16. header('Content-Type: text/html; charset=ISO-8859-1');
  17. echo "<script language=\"javascript\">alert('Le message n\'a pas été envoyé');document.location.href='index2.html'</script>";
  18.      }
  19. ?>


 
Dans l'attente d'une réponse,
Regards,
 
tpixl.


Message édité par tpixl le 13-02-2010 à 17:10:48
Reply

Marsh Posté le 13-02-2010 à 16:01:51   

Reply

Marsh Posté le 13-02-2010 à 18:02:16    

Pas d'IE8 en tout cas, car le traitement se fait côté serveur et le navigateur importe peu. Est-ce le message d'alerte qui ne s'affiche pas ou le mail qui ne part pas ?


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 13-02-2010 à 18:13:28    

Oui tu as raison, finalement quand j'y réfléchi ça parait évident...
<- noob inside
 
Et pour te répondre, c'est bien le mail qui en part pas.
 
Du coup ça viendrait de la page html.
 
Voila une partie du code, contenant tout ce qui est relatif au formulaire :
 

Code :
  1. 1. !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html40/strict.dtd">
  2.    2. <html>
  3.    3. <head>
  4.    4. <title>GApackaging.fr - Site en construction</title>
  5.    5. <meta name="description" content="Etude / Développement / Production d'emballages haut de gamme, écrins, classeurs, calendriers, PLV">
  6.    6. <meta name="keywords" content="Boites montéés recouverts, montée recouvertes, étuis, écrins, haut de gamme, luxe, PLV, calendriers, classeurs">
  7.    7. <meta name="copyright" content="2010, gapackaging.fr">
  8.    8. <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
  9.    9. <style type="text/css">
  10.   10.
  11.   11. [...]
  12.   12.
  13.   13. <script type="text/javascript" language="Javascript" >
  14.   14. <!--
  15.   15. function verification()
  16.   16. {
  17.   17. if(document.formulaire.societe.value == "" )  {
  18.   18.   alert("Veuillez entrer le nom de votre société" );
  19.   19.   document.formulaire.societe.focus();
  20.   20.   return false;
  21.   21.   }
  22.   22.   else
  23.   23. if(document.formulaire.nom.value == "" ) {
  24.   24.   alert("Veuillez entrer votre nom" );
  25.   25.   document.formulaire.nom.focus();
  26.   26.   return false;
  27.   27.   }
  28.   28.   else
  29.   29. if(document.formulaire.email.value == "" ) {
  30.   30.   alert("Veuillez entrer votre adresse electronique" );
  31.   31.   document.formulaire.email.focus();
  32.   32.   return false;
  33.   33.   }
  34.   34.   else
  35.   35. if(document.formulaire.email.value.indexOf('@') == -1) {
  36.   36.   alert("L'adresse email entrée est invalide" );
  37.   37.   document.formulaire.email.focus();
  38.   38.   return false;
  39.   39.   }
  40.   40.   else
  41.   41. if(document.formulaire.texte.value == "" ) {
  42.   42.   alert("Veuillez entrer le texte de votre message" );
  43.   43.   document.formulaire.texte.focus();
  44.   44.   return false;
  45.   45.   }
  46.   46. return true
  47.   47. }
  48.   48. //-->
  49.   49. </script>
  50.   50. </head>
  51.   51. <body>
  52.   52.
  53.   53. [...]
  54.   54.
  55.   55. <h2><a name="formulaire"></a>Formulaire de contact</h2>
  56.   56.
  57.   57. <form name='formulaire' action='mail.php' method='post' onSubmit="return verification()">
  58.   58.
  59.   59. <br>
  60.   60.
  61.   61. <table>
  62.   62.
  63.   63. <tr><td>Société : </td><td><input name='societe' type='text' size='50'></td></tr>
  64.   64.
  65.   65. <tr><td>Nom : </td><td><input name='nom' type='text' size='50'></td></tr>
  66.   66.
  67.   67. <tr><td>Email</td><td><input name='email' type='text' size='50'></td></tr>
  68.   68.
  69.   69. <tr><td valign="top">Votre message : </td><td><textarea name='texte' cols='50' rows='20'></textarea></td></tr>
  70.   70.
  71.   71. <tr><td><input name='annuler' type='reset' value='Effacer'></td><td>
  72.   72.
  73.   73. <input name='soumettre' type='submit' value='Envoyer'></td></tr>
  74.   74.
  75.   75. </table>
  76.   76. </form>
  77.   77. </body>
  78.   78. </html>

Reply

Marsh Posté le 13-02-2010 à 18:21:18    

Au lieu de faire des suppositions, cherche déjà d'où ça vient. Vérifie que les données sont bien transmises au formulaire, mets des points de repère dans ton code afin de voir le déroulement de ton script, ...


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 13-02-2010 à 18:24:35    

Et bien j'ai testé la récupération des variable par une page php et les différentes variables son bien transmises : elle s'affichent avec les bonnes valeurs sur IE.
 
Par contre tu peux développer pour les "points de repère" ?
 
Je te remercie pour tes réponses aideinfo :)

Reply

Marsh Posté le 14-02-2010 à 11:47:07    

Dans mon code PHP, je place des repères (#1, #2, ...) à différents endroits (boucles, conditions, ...) pour repérer le trajet emprunté.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed