Problème utilisation de recaptcha - PHP  

Forum > PHP > Problème utilisation de recaptcha

Problème utilisation de recaptcha

Membre
# Le 22/03/2012 à 16h13
Bonjour voila j'ai suivi la procedure et cela ne fonctionne pas vraiment quand je clic sur envoyer il me marque le message d'erreur que je remplise ou non le captcha et il n'envoie rien par contre choses etonnante les spam continu alors que moi je ne peut pas posté ses trop fort.

merci pour votre aide voici les codes.

  1. <section id="content">
  2. <div class="padding">
  3. <div class="scroll">
  4. <div>
  5. <h3>Livre d'Or</h3>
  6.  
  7. <?php
  8. require "config.php";
  9.  
  10. mysql_connect (DB_SERVER,DB_LOGIN,DB_PASS);
  11. mysql_select_db (DB_NAME);
  12. mysql_query ('SET NAMES' .DB_ENC);
  13.  
  14. if(isset($_POST) && !empty($_POST)){
  15. extract($_POST);
  16.  
  17. if(empty($pseudo) || empty($message)){
  18. if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
  19. if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
  20. }
  21. else {
  22. $ip=$_SERVER ["REMOTE_ADDR"];
  23. $sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
  24. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  25.  
  26. echo "tous les champ sont bon";
  27. }
  28. }
  29. ?>
  30. <div class="margin-bot">
  31. <form id="form-main" action="verify.php" method="post" enctype="multipart/form-data">
  32.  
  33. <fieldset>
  34. <div class="wrapper">
  35. <div class="column-1">
  36. <label>
  37. Votre Nom:<br>
  38. <span class="input"><input type="text" name="pseudo"></span>
  39. <span class="error-message"><?php if(isset($erreurpseudo)) echo $erreurpseudo; ?></span> <br />
  40. </label>
  41. <br>
  42.  
  43. <?php
  44. require_once('recaptcha/recaptchalib.php');
  45. $publickey = "..."; // you got this from the signup page
  46. echo recaptcha_get_html($publickey);
  47. ?>
  48. </div>
  49.  
  50. <div class="column-1">
  51. Message:<br>
  52. <span class="area"><textarea name="message" id="message"rows="8" cols="35"></textarea></textarea></span><br />
  53. <span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
  54.  
  55. <div class="input">
  56. <input type="submit" value="envoyer" id="envoyer" /><br />
  57. </div>
  58. </div>
  59. </div>
  60. </fieldset>
  61. <br><hr>
  62. </form>
  63. <div align="center" class="wrapper">
  64.  
  65. <?php
  66. $sql="SELECT * FROM livreor ORDER BY id DESC";
  67. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  68. while ($data=mysql_fetch_assoc ($req)) {
  69. echo "<strong>".$data ["pseudo"] ."</strong><br />";
  70. echo "<p>".$data ["message"]."<hr /></p>";
  71. }
  72.  
  73. mysql_close();
  74.  
  75. ?>


  1. <?php
  2. require_once('recaptcha/recaptchalib.php'); // Ne pas réafficher cette ligne dans le cas où ce code est sur la même page que le formulaire
  3. $privatekey = "..."; // Utiliser la clé privée qui est donnée sur votre compte recaptcha.net
  4. $resp = recaptcha_check_answer ($privatekey,
  5. $_SERVER["REMOTE_ADDR"],
  6. $_POST["recaptcha_challenge_field"],
  7. $_POST["recaptcha_response_field"]);
  8.  
  9. if (!$resp->is_valid) { // Test si le captcha a bien été rempli
  10. // Si le captcha n'est pas valide
  11. echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
  12. }
  13. else{
  14.  
  15. echo "ici, le code est valide";
  16. }
  17. ?>
avatar de Tony_
Administrateur
# Le 22/03/2012 à 19h46
Bonjour.
Oui c'est normal que votre code ne fonctionne pas. Le code qui vérifie le captcha n'est pas au même endroit que le code qui enregistre le message en base de donnée.
Vous avez séparé ces 2 codes, mais vous n'avez pas précisé où ils étaient placés et dans quels fichiers.
Il faut placer remplacer le "if" du premier code par quelque chose comme ceci:

  1. if(isset($_POST) && !empty($_POST)){
  2. extract($_POST);
  3.  
  4. require_once('recaptcha/recaptchalib.php'); // Ne pas réafficher cette ligne dans le cas où ce code est sur la même page que le formulaire
  5. $privatekey = "..."; // Utiliser la clé privée qui est donnée sur votre compte recaptcha.net
  6. $resp = recaptcha_check_answer ($privatekey,
  7. $_SERVER["REMOTE_ADDR"],
  8. $_POST["recaptcha_challenge_field"],
  9. $_POST["recaptcha_response_field"]);
  10.  
  11. if (!$resp->is_valid) { // Test si le captcha a bien été rempli
  12. // Si le captcha n'est pas valide
  13. echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
  14. } else {
  15. if(empty($pseudo) || empty($message)){
  16. if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
  17. if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
  18. } else {
  19. $ip=$_SERVER ["REMOTE_ADDR"];
  20. $sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
  21. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  22. echo "tous les champ sont bon";
  23. }
  24. }
  25. }


Visiblement vous débutez en PHP. Je vous recommande d'essayer de comprendre ce bout de code et de le modifier un peu pour être sûr que vous avez bien tout compris.
N'hésitez pas à indiquer si la modification à fonctionné ou non.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Membre
# Le 23/03/2012 à 20h45
bonjour oui effectivement le php je ne m'etrise pas du tout et la je suis envahie par les spams je passe mon temps a les suprimer du livre d'or + de 100000 en 3 mois et depuis hier c'est mon formulaire de contact + de 500 mail en a peine 2 jour.

j'ai essayer votre code mais cela ne marche pas en plus j'ai du mal a savoir ou le mettre dans ma page livre d'or ou verify.php merci de votre aide car la je patauge.
avatar de Tony_
Administrateur
# Le 25/03/2012 à 12h20
Bonjour. Dis donc, vous avez beaucoup de spam.
Vous pourriez être plus précis et me dire quels sont les pages que vous avez et le code quels contiennent?
Car le code que vous avez présenté ici, je ne sais pas dans quel fichier il est présent.
Par ailleurs, juste pour être sûr, avez-vous bien été cherché une clé public et une clé privée pour recaptcha?
Autrement dit, est-ce que vous avez ajouté les clés au niveau de ces codes:
  1. $publickey = "..."; // you got this from the signup page

et
  1. $privatekey = "..."; // Utiliser la clé privée qui est donnée sur votre compte recaptcha.net


Merci d'avance pour le complément d'information.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Membre
# Le 25/03/2012 à 12h48
bonjour et encore merci alors voici mes pages

livre d'or

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8" >
  5. <title>Livre d'Or</title>
  6. <link href="default.css" rel="stylesheet" type="text/css" media="screen" />
  7. <link rel="icon" type="images/png" href="images/favicon.png" />
  8.  
  9. <!--zoombox-->
  10. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
  11. <script type="text/javascript" src="js/Zoombox/zoombox.js"></script>
  12. <link href="js/Zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" />
  13. <script type="text/javascript">
  14. jQuery(function($){
  15. $('a.zoombox').zoombox();
  16.  
  17. // You can also use specific options
  18. $('a.zoombox').zoombox({
  19. theme : 'lightbox', //available themes : zoombox,lightbox, prettyphoto, darkprettyphoto, simple
  20. opacity : 0.8, // Black overlay opacity
  21. duration : 800, // Animation duration
  22. animation : true, // Do we have to animate the box ?
  23. width : 500, // Default width
  24. height : 300, // Default height
  25. gallery : true, // Allow gallery thumb view
  26. autoplay : false // Autoplay for video
  27. });
  28. });
  29. </script>
  30. <!--end zoombox-->
  31.  
  32.  
  33. <META NAME="KEYWORDS" CONTENT="wedding cake,pâtisserie, nord, nord pas de calais, valenciennes, onnaing, 59,France, cupcake, pièce montée, gâteau de mariage, gâteau d'anniversaire, gâteau baptême,Gateau personnalisé,anniversaires, mariages, baptêmes, naissance, gâteau évènementiel sociétés, gâteau mariage, france, gâteau anniversaire, gâteau baptême, pièce montée mariage, Gateau à l'américaine">
  34. <META NAME="DESCRIPTION" CONTENT="Nous vous proposons de découvrir nos wedding cake, Cupcakes, mais aussi nos Celebration Cakes, pour votre mariage, votre anniversaire ou tout autres évènements">
  35. <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
  36.  
  37.  
  38. <link rel="stylesheet" href="css/reset.css" type="text/css" media="screen">
  39. <link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
  40. <link rel="stylesheet" href="css/layout.css" type="text/css" media="screen">
  41. <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
  42. <script src="js/cufon-yui.js" type="text/javascript"></script>
  43. <script src="js/cufon-replace.js" type="text/javascript"></script>
  44. <script src="js/BlackJack_400.font.js" type="text/javascript"></script>
  45. <script src="js/TrashHand_400.font.js" type="text/javascript"></script>
  46. <!--[if lt IE 7]>
  47. <script type="text/javascript" src="http://info.template-help.com/files/ie6_warning/ie6_script_other.js"></script>
  48. <![endif]-->
  49. <!--[if lt IE 9]>
  50. <script type="text/javascript" src="js/html5.js"></script>
  51. <![endif]-->
  52. <script type="text/javascript">
  53.  
  54. var _gaq = _gaq || [];
  55. _gaq.push(['_setAccount', 'UA-17743968-1']);
  56. _gaq.push(['_trackPageview']);
  57.  
  58. (function() {
  59. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  60. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  61. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  62. })();
  63.  
  64. </script>
  65.  
  66. <script type="text/javascript">
  67. var RecaptchaOptions={
  68. lang: 'fr',
  69. theme: 'white'
  70. };
  71. </script>
  72. </head>
  73. <body id="page8">
  74. <div class="main">
  75. <!--==============================header=================================-->
  76. <header>
  77. <nav class="wrapper">
  78. <ul class="menu">
  79. <li class="index.php"><a href="index.php">Accueil</a></li>
  80. <li><a href="magasin.html">Magasin</a></li>
  81. <li><a href="nosgateaux.html">Nos gateaux</a></li>
  82. <li><a href="livreor.php">Livre d'or</a></li>
  83. <li><a href="galerie.html">Galerie</a></li>
  84. <li><a href="livraison.html">Livraison</a></li>
  85. <li><a href="liens.html">Liens</a></li>
  86. <li class="last-item"><a href="contact.html">Contact</a></li>
  87. </ul>
  88. </nav>
  89.  
  90. <div class="logo">
  91. <a href="index.php"><img src="images/Logo1.png" height="110"><h3>Wedding Cake Les Gourmandises de Pauline</h3></a>
  92. </div>
  93.  
  94. </header>
  95.  
  96. <!--==============================content================================-->
  97. <section id="content">
  98. <div class="padding">
  99. <div class="scroll">
  100. <div>
  101. <h3>Livre d'Or</h3>
  102.  
  103.  
  104.  
  105.  
  106. <?php
  107.  
  108. require "config.php";
  109. require_once('recaptchalib.php');
  110.  
  111. $publickey = "6LdzRc8SAAAAAEM1zaebtgP7woXJbHBrNsIRxRFm";
  112.  
  113. mysql_connect (DB_SERVER,DB_LOGIN,DB_PASS);
  114. mysql_select_db (DB_NAME);
  115. mysql_query ('SET NAMES' .DB_ENC);
  116.  
  117.  
  118. if(isset($_POST) && !empty($_POST)){
  119. extract($_POST);
  120.  
  121.  
  122.  
  123. if(empty($pseudo) || empty($message)){
  124. if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
  125. if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
  126. }
  127.  
  128.  
  129.  
  130. else {
  131. $ip=$_SERVER ["REMOTE_ADDR"];
  132. $sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
  133. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  134.  
  135.  
  136. echo "tous les champ sont bon";
  137. }
  138. }
  139.  
  140.  
  141.  
  142. ?>
  143. <div class="margin-bot">
  144. <form id="form-main" action="verify.php" method="post" enctype="multipart/form-data">
  145.  
  146. <fieldset>
  147. <div class="wrapper">
  148. <div class="column-1">
  149. <label>
  150. Votre Nom:<br>
  151. <span class="input"><input type="text" name="pseudo"></span>
  152. <span class="error-message"><?php if(isset($erreurpseudo)) echo $erreurpseudo; ?></span> <br />
  153. </label>
  154. <br>
  155.  
  156. <?php echo recaptcha_get_html($publickey);?>
  157. </div>
  158.  
  159.  
  160.  
  161. <div class="column-1">
  162. Message:<br>
  163. <span class="area"><textarea name="message" id="message"rows="8" cols="35"></textarea></textarea></span><br />
  164. <span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
  165.  
  166.  
  167.  
  168.  
  169. <div class="input">
  170. <input type="submit" value="envoyer" id="envoyer" /><br />
  171. </div>
  172.  
  173. </div>
  174.  
  175. </div>
  176. </fieldset>
  177. <br><hr>
  178. </form>
  179. <div align="center" class="wrapper">
  180.  
  181. <?php
  182.  
  183. $sql="SELECT * FROM livreor ORDER BY id DESC";
  184. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  185. while ($data=mysql_fetch_assoc ($req)) {
  186. echo "<strong>".$data ["pseudo"] ."</strong><br />";
  187. echo "<p>".$data ["message"]."<hr /></p>";
  188.  
  189. }
  190.  
  191. mysql_close();
  192.  
  193. ?>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. <a class="link-main" href="actualité.html"><img src="images/link-main1.png" alt=""></a>
  199. </section>
  200.  
  201. <!--==============================footer=================================-->
  202. <footer>
  203. <p><a href="http://www.facebook.com/lidianmanoha" target="_blank"><img src="images/f-logo.png" alt="facebook" width="36" height="36" ><a href="http://twitter.com/patiserielgdp" target="_blank"><img src="images/logo_twitter.png" alt="twitter" width="36" height="36" ></a><a href="http://www.patisserie-lgdp.fr/flux.php" target="_blank"><img src="images/rss_logo.png" alt="rss" width="36" height="36" ></a><a href="http://weddingcake-lgdp.blogspot.com" target="_blank"><img src="images/Blogger.png" alt="rss" width="36" height="36" ></a></p>
  204. <span>Les Gourmandises de Pauline &copy; 2011 Tous droits réservés</span> | <u><a href="CG.html">Conditions Générales</a><br></u>
  205. <!-- {%FOOTER_LINK} -->
  206. </footer>
  207. </div>
  208. <script type="text/javascript"> Cufon.now(); </script>
  209. </body>
  210. </html>


page de verification

  1. <?php
  2. require_once('recaptcha/recaptchalib.php'); // Ne pas réafficher cette ligne dans le cas où ce code est sur la même page que le formulaire
  3. $privatekey = "6LdqRc8SAAAAAC68dwIskZ8KC46xNP1wFh1LceBe"; // Utiliser la clé privée qui est donnée sur votre compte recaptcha.net
  4. $resp = recaptcha_check_answer ($privatekey,
  5. $_SERVER["REMOTE_ADDR"],
  6. $_POST["recaptcha_challenge_field"],
  7. $_POST["recaptcha_response_field"]);
  8.  
  9. if (!$resp->is_valid) { // Test si le captcha a bien été rempli
  10. // Si le captcha n'est pas valide
  11. echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
  12. }
  13. else{
  14.  
  15. echo "ici, le code est valide";
  16. }
  17. ?>



Ma page formulaire

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>Livraison</title>
  6. <link href="default.css" rel="stylesheet" type="text/css" media="screen" />
  7. <link rel="icon" type="images/png" href="images/favicon.png" />
  8.  
  9. <!--zoombox-->
  10. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
  11. <script type="text/javascript" src="js/Zoombox/zoombox.js"></script>
  12. <link href="js/Zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" />
  13. <script type="text/javascript">
  14. jQuery(function($){
  15. $('a.zoombox').zoombox();
  16.  
  17. // You can also use specific options
  18. $('a.zoombox').zoombox({
  19. theme : 'lightbox', //available themes : zoombox,lightbox, prettyphoto, darkprettyphoto, simple
  20. opacity : 0.8, // Black overlay opacity
  21. duration : 800, // Animation duration
  22. animation : true, // Do we have to animate the box ?
  23. width : 500, // Default width
  24. height : 300, // Default height
  25. gallery : true, // Allow gallery thumb view
  26. autoplay : false // Autoplay for video
  27. });
  28. });
  29. </script>
  30. <!--end zoombox-->
  31.  
  32.  
  33. <META NAME="KEYWORDS" CONTENT="wedding cake,pâtisserie, nord, nord pas de calais, valenciennes, onnaing, 59,France, cupcake, pièce montée, gâteau de mariage, gâteau d'anniversaire, gâteau baptême,Gateau personnalisé,anniversaires, mariages, baptêmes, naissance, gâteau évènementiel sociétés, gâteau mariage, france, gâteau anniversaire, gâteau baptême, pièce montée mariage, Gateau à l'américaine">
  34. <META NAME="DESCRIPTION" CONTENT="Nous vous proposons de découvrir nos wedding cake, Cupcakes, mais aussi nos Celebration Cakes, pour votre mariage, votre anniversaire ou tout autres évènements">
  35. <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
  36.  
  37.  
  38. <link rel="stylesheet" href="css/reset.css" type="text/css" media="screen">
  39. <link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
  40. <link rel="stylesheet" href="css/layout.css" type="text/css" media="screen">
  41. <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
  42. <script src="js/cufon-yui.js" type="text/javascript"></script>
  43. <script src="js/cufon-replace.js" type="text/javascript"></script>
  44. <script src="js/BlackJack_400.font.js" type="text/javascript"></script>
  45. <script src="js/TrashHand_400.font.js" type="text/javascript"></script>
  46. <!--[if lt IE 7]>
  47. <script type="text/javascript" src="http://info.template-help.com/files/ie6_warning/ie6_script_other.js"></script>
  48. <![endif]-->
  49. <!--[if lt IE 9]>
  50. <script type="text/javascript" src="js/html5.js"></script>
  51. <![endif]-->
  52. <script type="text/javascript">
  53.  
  54. var _gaq = _gaq || [];
  55. _gaq.push(['_setAccount', 'UA-17743968-1']);
  56. _gaq.push(['_trackPageview']);
  57.  
  58. (function() {
  59. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  60. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  61. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  62. })();
  63.  
  64. </script>
  65.  
  66. <script type="text/javascript">
  67. var RecaptchaOptions={
  68. lang: 'fr',
  69. theme: 'white'
  70. };
  71. </script>
  72.  
  73. </head>
  74. <body id="page3">
  75. <div class="main">
  76. <!--==============================header=================================-->
  77. <header>
  78. <nav class="wrapper">
  79. <ul class="menu">
  80. <li class="index.php"><a href="index.php">Accueil</a></li>
  81. <li><a href="magasin.html">Magasin</a></li>
  82. <li><a href="nosgateaux.html">Nos gateaux</a></li>
  83. <li><a href="livreor.php">Livre d'or</a></li>
  84. <li><a href="galerie.html">Galerie</a></li>
  85. <li><a href="livraison.html">Livraison</a></li>
  86. <li><a href="liens.html">Liens</a></li>
  87. <li class="last-item"><a href="contact.html">Contact</a></li>
  88. </ul>
  89. </nav>
  90.  
  91. <div class="logo">
  92. <a href="index.php"><img src="images/Logo1.png" height="110"><h3>Wedding Cake Les Gourmandises de Pauline</h3></a>
  93. </div>
  94.  
  95. </header>
  96.  
  97. <!--==============================content================================-->
  98. <section id="content">
  99. <div class="padding">
  100. <div class="scroll">
  101. <div class="padding-right">
  102. <div class="text-1">
  103. <h3>Livraison</h3>
  104.  
  105. <div class="wrapper margin-bot">
  106. <div class="wrapper">
  107.  
  108.  
  109. <div align="center" class="extra-box">
  110. <div class="col-2"><figure class="img-indent"><img src="images/camion.png" alt=""></figure></div>
  111.  
  112.  
  113. </div>
  114. <div align="center"><p>Nous livrons vos commandes partout dans la région.</br>
  115. Le transport respecte les normes d'hygiène réglementaires.</br>
  116. Livraison gratuite dans le valenciennois.</p></br></br>
  117. <center><strong>N'hésitez pas à nous contacter pour établir un devis !</center></strong></br></br></div>
  118. <div class="extra-box">
  119. <?php
  120. require_once('recaptchalib.php');
  121.  
  122. $publickey = "6LdzRc8SAAAAAEM1zaebtgP7woXJbHBrNsIRxRFm";
  123. ?>
  124. <form id="form-main" action="verifyform.php" method="post" enctype="multipart/form-data">
  125.  
  126. <fieldset>
  127. <div class="wrapper">
  128. <div class="column-2">
  129. <label>
  130. Votre Nom* :<br>
  131. <span class="input"><input name="Nom" type="text"></span>
  132. </label>
  133. <label>
  134. Votre E-mail* :<br>
  135. <span class="input"><input name="email" type="email"></span>
  136. </label>
  137. <label>
  138. Date de l'évènement* :<br>
  139. <span class="input"><input name="date" type="text"></span>
  140. </label>
  141. <label>
  142. Ville et département* :<br>
  143. <span class="input"><input name="ville" type="text"></span>
  144. </label>
  145. <?php
  146. echo recaptcha_get_html($publickey);
  147. ?>
  148. <div class="input">
  149. <input type="submit" value="Envoyer" id="envoyer">
  150.  
  151.  
  152. </div>
  153. </div>
  154.  
  155. </div>
  156. </fieldset>
  157. </form>
  158.  
  159. </br>
  160.  
  161.  
  162. <p>(*) Informations nécessaires pour pouvoir traiter votre demande.<br></p>
  163.  
  164.  
  165. <p>Vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données vous concernant
  166. (Art. 34 de la loi "Informatique et libertés" du 6 janvier 1978). Pour exercer ce droit, contactez-nous.</p>
  167. </div>
  168.  
  169. </div>
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. <a class="link-main" href="actualité.html"><img src="images/link-main1.png" alt=""></a>
  175. </section>
  176. <!--==============================footer=================================-->
  177. <footer>
  178. <p><a href="http://www.facebook.com/lidianmanoha" target="_blank"><img src="images/f-logo.png" alt="facebook" width="36" height="36" ><a href="http://twitter.com/patiserielgdp" target="_blank"><img src="images/logo_twitter.png" alt="twitter" width="36" height="36" ></a><a href="http://www.patisserie-lgdp.fr/flux.php" target="_blank"><img src="images/rss_logo.png" alt="rss" width="36" height="36" ></a><a href="http://weddingcake-lgdp.blogspot.com" target="_blank"><img src="images/Blogger.png" alt="rss" width="36" height="36" ></a></p>
  179. <span>Les Gourmandises de Pauline &copy; 2011 Tous droits réservés</span> | <u><a href="CG.html">Conditions Générales</a><br></u>
  180. <!-- {%FOOTER_LINK} -->
  181. </footer>
  182. </div>
  183. <script type="text/javascript"> Cufon.now(); </script>
  184. </body>
  185. </html>


et ma page d'envoie formulaire

  1. <?php
  2.  
  3.  
  4. $TO = "contact@patisserie-lgdp.fr";
  5.  
  6. $h = "From: " . $TO;
  7.  
  8. $message = "";
  9.  
  10. while (list($key, $val) = each($HTTP_POST_VARS)) {
  11. $message .= "$key : $val\n";
  12. }
  13. {
  14. mail($TO, $subject, $message, $h);
  15.  
  16. header("Location: http://patisserie-lgdp.fr/merci.html");
  17.  
  18. }
  19. ?>
  20.  
avatar de Tony_
Administrateur
# Le 25/03/2012 à 21h02
J'aurais bien aimé avoir le nom du fichier pour vraiment m'y retrouvé. Vous ne me facilitez pas la tâche, j'ai du aller chercher votre site par moi-même sur Google pour comprendre le fonctionne.

Compréhension du problème


Le problème c'est que votre page de verification ne sert à rien!
Lorsque vous êtes sur le formulaire du livre d'or, vous êtes sur la page "livreor.php". Et lorsque vous validez le formulaire, vous retourner sur la page "livreor.php". A aucun moment la page "verify.php" n'est appelée. Vous auriez pu appeler la page "verify.php" par n'importe quel nom, si ce n'est pas lié le code ne peut pas fonctionner. En plus, en regardant le code présent sur internet, je remarque que ce n'est pas le même code que vous m'avez transmis?!

A savoir: le fonctionnement de la page de contact est différent du fonctionnement de la page "livre d'or". Le visiteur écrit son message sur la page "contact.html" et lorsqu'il envoi son message il est envoyé vers la page "verifyform.php".

Ce qu'il faut faire


Tout d'abord, réglons le problème de livre d'or. Le code de validation du captcha doit être sur la page livreor.php, car il n'y a que cette page qui est utilisée! Il faut donc adapter le code pour l'insérer sur votre page livreor.php. Reprenez le code que j'ai mis précédemment et remplacer les lignes concernée dans votre fichier livreor.php. Et la page que vous appelez "page de verification", vous pouvez la supprimer, elle ne sert à rien.

Pour les autres formulaires de contact, je n'ai pas vu de captcha à remplir, je ne vois donc pas pourquoi vous voulez vérifier s'il a bien été rempli?!

J'espère que ça vous aide un peu plus. Si vous n'y arrivez toujours pas, je vous suggère d'aller sur votre site, de regarder le nom des pages (mapage.php), d'essayer chaque formulaires et de voir le nom de chaque page lorsque vous validez chaque formulaire (pour voir sur quels pages vous vous trouvez). Ensuite, je vous recommande d'ouvrir les fichiers concerné et de les adapter en supprimant par exemple la vérification de captcha si jamais il n'y a pas de contrôle de captcha.
Allez courage!
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Membre
# Le 25/03/2012 à 23h13
bonsoir excuser moi pour le manque d'info sinon j'ai effectuer les modification mais quand je fait envoyer j'ai une erreur

Fatal error: Call to undefined function recaptcha_check_answer() in /htdocs/livreor.php on line 124

Pour les autres vous n'avez pas vu car j'ai remis les anciens en place mais j'aimerais les mettre sur mes formulaires de contact page livraison et contact de mon site.

De plus j'avoue que je patauge en php je métrise un peu plus le html.

merci

  1. <?php
  2.  
  3. require "config.php";
  4.  
  5.  
  6.  
  7.  
  8. mysql_connect (DB_SERVER,DB_LOGIN,DB_PASS);
  9. mysql_select_db (DB_NAME);
  10. mysql_query ('SET NAMES' .DB_ENC);
  11.  
  12.  
  13. if(isset($_POST) && !empty($_POST)){
  14. extract($_POST);
  15.  
  16.  
  17.  
  18. $privatekey = "6Le8ZM8SAAAAAD3bS_Bcu_QTX_WFS-HfX_NH7i2D"; // Utiliser la clé privée qui est donnée sur votre compte recaptcha.net
  19. $$resp = recaptcha_check_answer ($privatekey,
  20. $_SERVER["REMOTE_ADDR"],
  21. $_POST["recaptcha_challenge_field"],
  22. $_POST["recaptcha_response_field"]);
  23.  
  24.  
  25. if (!$resp->is_valid) { // Test si le captcha a bien été rempli
  26. // Si le captcha n'est pas valide
  27. echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
  28. } else {
  29. if(empty($pseudo) || empty($message)){
  30. if(empty($pseudo)) { $erreurpseudo="Vous n'avez pas rempli votre nom"; }
  31. if(empty($message)) { $erreurmessage="Vous n'avez pas rempli votre message"; }
  32. } else {
  33. $ip=$_SERVER ["REMOTE_ADDR"];
  34. $sql="INSERT INTO livreor (pseudo,message,ip) VALUES (' $pseudo','$message','$ip')";
  35. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  36. echo "tous les champ sont bon";
  37. }
  38. }
  39. }
  40.  
  41. ?>
  42. <div class="margin-bot">
  43. <form id="form-main" action="livreor.php" method="post" enctype="multipart/form-data">
  44.  
  45. <fieldset>
  46. <div class="wrapper">
  47. <div class="column-1">
  48. <label>
  49. Votre Nom:<br>
  50. <span class="input"><input type="text" name="pseudo"></span>
  51. <span class="error-message"><?php if(isset($erreurpseudo)) echo $erreurpseudo; ?></span> <br />
  52. </label>
  53. <br>
  54.  
  55. <?php require_once('recaptchalib.php');
  56. $publickey = "6Le8ZM8SAAAAAMykDgD-4rZ5_O90zqRwJxaLpTMF"; // you got this from the signup page
  57. echo recaptcha_get_html($publickey);
  58.  
  59. ?>
  60. </div>
  61.  
  62.  
  63.  
  64. <div class="column-1">
  65. Message:<br>
  66. <span class="area"><textarea name="message" id="message"rows="8" cols="35"></textarea></textarea></span><br />
  67. <span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
  68.  
  69.  
  70.  
  71.  
  72. <div class="input">
  73. <input type="submit" value="envoyer" id="envoyer" /><br />
  74. </div>
  75.  
  76. </div>
  77.  
  78. </div>
  79. </fieldset>
  80. <br><hr>
  81. </form>
  82. <div align="center" class="wrapper">
  83.  
  84. <?php
  85.  
  86. $sql="SELECT * FROM livreor ORDER BY id DESC";
  87. $req= mysql_query ($sql) or die ('Erreur SQL !<br>' .$sql.'<br>'.mysql_error() );
  88. while ($data=mysql_fetch_assoc ($req)) {
  89. echo "<strong>".$data ["pseudo"] ."</strong><br />";
  90. echo "<p>".$data ["message"]."<hr /></p>";
  91.  
  92. }
  93.  
  94. mysql_close();
  95.  
  96. ?>
Membre
# Le 29/03/2012 à 18h37
J'ai chercher l'erreur mais je trouve pas la solution.
avatar de Tony_
Administrateur
# Le 01/06/2012 à 19h48
Bonjour.
Je reviens vers vous pour savoir si vous avez eu l'occasion d'en apprendre d'avantage sur le PHP et ainsi de trouver la réponse. A mon avis, il ne restait plus qu'un petit détail à régler pour que ça fonctionne correctement.
Cordialement.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Membre
# Le 01/06/2012 à 20h10
Malheureusement je manque de temps et pour l'instant c'est en attente. Merci.