Votre question

Test- Qu'est ce qui ne va pas avec ce formulaire?

Tags :
  • CSS
  • Programmation
Dernière réponse : dans Programmation
23 Janvier 2008 18:21:42

Bon voilà j'ai fais un test donc biensur rien est rédigé mais bref ca ne marche pas quand même mon formulaire de contact, je vous passe les codes:
Code html:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "<a href="http://www.w3.org/TR/REC-html40/loose.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/REC-html40/loose.dtd</a>">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>Mon formulaire.</title>
  7. <style type="text/css" media="all">
  8. td {font-weight: bold; text-align: right;}
  9. td.liste{text-align: left;}
  10. th {font-size: 2em; color: red; padding: 0; border-bottom: 1px solid red;}
  11. </style>
  12. <style type="text/css" media="print">
  13. div.nepasvoir p:first-line {font-weight: bold;}
  14. tr#nepasimprimer {display: none;}
  15. </style>
  16. <style type="text/css" media="screen">
  17. div.nepasvoir {display: none;}
  18. td.info{border-left : 3px solid red; border-bottom: 1px solid red}
  19. td.champ{border-right : 1px solid red;}
  20. td {padding: 0.25em 1px;}
  21. td.subject{border-left : 3px solid green; border-bottom: 1px solid green}
  22. td.liste{ border-top: 1px dotted red; border-right: 1px solid green; border-bottom: 1px solid green;}
  23. td.contenu{border-left : 3px solid gray; border-bottom: 1px solid gray}
  24. td.contenant{border-right : 1px solid gray; border-bottom: 1px solid gray}
  25. td.lesboutons{}
  26. </style>
  27. </head>
  28. <body>
  29. <form name='formulaire' action='traitement.php' method='post'>
  30. <table cellspacing="0">
  31. <th colspan="2">Formulaire de contact</th>
  32. <tr><td class="info">Votre nom : </td><td class="champ"><input name='nom' type='text' size='50' class="writein"></td></tr>
  33. <tr><td class="info">Votre prénom : </td><td class="champ"><input name='prenom' type='text' size='50' class="writein"></td></tr>
  34. <tr><td class="info">Votre email</td><td class="champ"><input name='email' type='text' size='50' class="writein"></td></tr>
  35. <tr><td class="subject">Le motif de votre message</td><td class="liste"><input name='sujet' type='radio' value='renseignement'>Renseignement<br>
  36. <input name='sujet' type='radio' value='probleme technique'> Probleme technique<br>
  37. <input name='sujet' type='radio' value='partenariat'>Partenariat</td></tr>
  38. <tr><td class="contenu">Votre message</td><td class="contenant"><textarea name='texte' cols='50' rows='20' class="writein"></textarea></td></tr>
  39. <tr id="nepasimprimer"><td class="lesboutons"><input name='annuler' type='reset' value='Annuler'></td><td>
  40. <input name='soumettre' type='submit' value='Envoyer'></td></tr>
  41. </table>
  42. <div class="nepasvoir">
  43. Tous les champs du formulaire <strong>doivent</strong> être remplis.
  44. <p>
  45. Envoyez le formulaire par la poste à:<br>
  46. Dr Duschmoll<br>
  47. 44, rue des maures
  48. <br> AZ445 Djoumbala - France<br>
  49. Ou par fax au 01 34 56 76 56
  50. </p>
  51. </div>
  52. </form>
  53. </body>
  54. </html>



le code php:
  1. <?php
  2. $adresse="youx@hotmail.fr";
  3. $from="From: $prenom $nom<$email>\r\n";
  4. $from.="Reply-To: $prenom $nom <$email>\n";
  5. $from.="X-priority:3\n";
  6. $texte="<html>";
  7. $texte.="$texte";
  8. $texte.="</html>";
  9. $from.="MIME-Version: 1.0\r\n";
  10. $from.="Content-Type: text/html";
  11. if (mail($adresse,$sujet,$texte,$from))
  12. echo("<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
  13. else
  14. echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href="$adresse">classiquement</a>");
  15. ?>


Et voilà le message d'erreur que j'obtiens lorsuque je clique sur "envoyer": "
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\traitement.php on line 14"


Merci

Autres pages sur : test formulaire

a c 232 L Programmation
23 Janvier 2008 19:00:45

Salut,

  1. echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href="$adresse">classiquement</a>" );


Il faut backslasher tes " dans ton code. (...)href=\"$adresse\"(...)


Sinon, je t'invite à regarder quelques cours sur les failles des formulaires de contacts de ce type.
Et en recherchant, je m'aperçois que tu suis ce cour : http://www.mmt-fr.org/article78.html
N'oublie pas le paragraphe "hack hack hack".

Sinon, il faut supprimer les caractères "\r" et "\n" de tout ce que tu mets dans le header de ton mail.
Donc :
  1. $prenom : str_replace(array("\r", "\n" ), '', $prenom);
  2. $nom: str_replace(array("\r", "\n" ), '', $nom);
  3. $email: str_replace(array("\r", "\n" ), '', $email);


Sinon il est très facile de détourner tous les mails et tu ne recevras même pas les messages, et ça se transforme en fournisseur de spam.
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