Votre question

Probléme sur un 'formulaire contact'

Tags :
  • téléphone
  • Programmation
Dernière réponse : dans Programmation
15 Mars 2010 11:29:43

Bonjour,

j'ai repris le formulaire qu'un site donné pour l'arranger à ma sauce :

Le code html
  1. <form id="contact" method="post" action="traitement_formulaire.php">
  2. <fieldset><legend>Vos coordonnées</legend>
  3. <p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
  4. <p><label for="prenom">Prénom :</label><input type="text" id="prenom" name="prenom" tabindex="2" /></p>
  5. <p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="3" /></p>
  6. <p><label for="telephone">N° de Téléphone :</label><input type="text" id="telephone" name="telephone" tabindex="4" /></p>
  7. </fieldset>
  8.  
  9. <fieldset><legend>Votre message :</legend>
  10. <p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="5" /></p>
  11. <p><label for="message">Message :</label><textarea id="message" name="message" tabindex="6" cols="30" rows="8"></textarea></p>
  12. </fieldset>
  13.  
  14. <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
  15. </form>


le code php

  1. <?php
  2. /*
  3. ********************************************************************************************
  4. CONFIGURATION
  5. ********************************************************************************************
  6. */
  7. // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
  8. $destinataire = '*****@gmail.com';
  9.  
  10. // copie ? (envoie une copie au visiteur)
  11. $copie = 'oui'; // 'oui' ou 'non'
  12.  
  13. // Messages de confirmation du mail
  14. $message_envoye = "Votre message nous est bien parvenu !";
  15. $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
  16.  
  17. // Messages d'erreur du formulaire
  18. $message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
  19. $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
  20.  
  21. /*
  22. ********************************************************************************************
  23. FIN DE LA CONFIGURATION
  24. ********************************************************************************************
  25. */
  26.  
  27. // on teste si le formulaire a été soumis
  28. if (!isset($_POST['envoi']))
  29. {
  30. // formulaire non envoyé
  31. echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
  32. }
  33. else
  34. {
  35. /*
  36. * cette fonction sert à nettoyer et enregistrer un texte
  37. */
  38. function Rec($text)
  39. {
  40. $text = trim($text); // delete white spaces after & before text
  41. if (1 === get_magic_quotes_gpc())
  42. {
  43. $stripslashes = create_function('$txt', 'return stripslashes($txt);');
  44. }
  45. else
  46. {
  47. $stripslashes = create_function('$txt', 'return $txt;');
  48. }
  49.  
  50. // magic quotes ?
  51. $text = $stripslashes($text);
  52. $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
  53. $text = nl2br($text);
  54. return $text;
  55. }
  56.  
  57. /*
  58. * Cette fonction sert à vérifier la syntaxe d'un email
  59. */
  60. function IsEmail($email)
  61. {
  62. $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
  63. return (eregi($pattern,$email)) ? true : false;
  64. }
  65.  
  66. // formulaire envoyé, on récupère tous les champs.
  67. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
  68. $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
  69. $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
  70. $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
  71. $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
  72. $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
  73.  
  74. // On va vérifier les variables et l'email ...
  75. $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
  76.  
  77. if (($nom != '') && ($prenom != '') && ($email != '') && ($telephone != '') && ($objet != '') && ($message != ''))
  78. {
  79. // les 6 variables sont remplies, on génère puis envoie le mail
  80. $headers = 'From: '.$nom.' <'.$telephone.'>' . "\r\n";
  81.  
  82. // envoyer une copie au visiteur ?
  83. if ($copie == 'oui')
  84. {
  85. $cible = $destinataire.','.$email;
  86. }
  87. else
  88. {
  89. $cible = $destinataire;
  90. }
  91.  
  92. // Remplacement de certains caractères spéciaux
  93. $message = str_replace("'","'",$message);
  94. $message = str_replace("’","'",$message);
  95. $message = str_replace(""",'"',$message);
  96. $message = str_replace('<br>','',$message);
  97. $message = str_replace('<br />','',$message);
  98. $message = str_replace("<","<",$message);
  99. $message = str_replace(">",">",$message);
  100. $message = str_replace("&","&",$message);
  101.  
  102. // Envoi du mail
  103. if (mail($cible, $objet, $message, $headers))
  104. {
  105. echo '<p>'.$message_envoye.'</p>'."\n";
  106. }
  107. else
  108. {
  109. echo '<p>'.$message_non_envoye.'</p>'."\n";
  110. }
  111. }
  112. else
  113. {
  114. // une des 3 variables (ou plus) est vide ...
  115. echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
  116. }
  117. } // fin du if (!isset($_POST['envoi']))
  118. ?>


Et voici mon message d'erreur :


Warning: mail() has been disabled for security reasons in /var/www/*****/traitement_formulaire.php on line 103

L'envoi du mail a échoué, veuillez réessayer SVP.

La ligne 103 correspond à : (dans notepad++)
  1. if (mail($cible, $objet, $message, $headers))


j'ai déjà passer 4 heures à essayer de trouver et à faire des recherche sur google mais rien :s

Cordialement

Autres pages sur : probleme formulaire contact

15 Mars 2010 11:49:39

C'est marqué dans ton erreur:
"Warning: mail() has been disabled for security reasons" < Ton hébergeur a désactivé la fonction mail. Si tu souhaites utiliser ce formulaire, trouve un autre hébergeur (elle doit être activée sur les pages perso de free, par exemple).
m
0
l
15 Mars 2010 12:49:08

Ok est bien merci.

Je vais tout transvaser dans le site one and one cela devrait être bon :D 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS