Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
514 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP]Aide Débutant Ajouter Captcha formulaire de contact existant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]Aide Débutant Ajouter Captcha formulaire de contact existant

n°2242405
dophee
Posté le 06-11-2014 à 20:58:16  profilanswer
 

Bonjour,
 
Je suis nulle en php.
J'ai un formulaire de contact qui fonctionne auquel je voudrais ajouter un contrôle.
Que ce soit SolveMedia, Captchme ou recaptcha, les indications semblent les mêmes mais je ne m'en sors pas.
Pas de problème pour afficher le Captcha, mais impossible pour moi de le faire fonctionner.
 
Formulaire

Code :
  1. <form method="post" action="contact.form.php" name="contactform" id="contactform">
  2.       <fieldset>
  3.       <div class="clear"></div>
  4.        <div class="input_label user"><label>Nom</label></div>
  5.        <input name="name" type="text" id="name" class="name" size="30" value="" />
  6.        <div class="clear"></div>
  7.        <div class="input_label user_email"><label>Email</label></div>
  8.        <input name="email" type="text" id="email" class="email" size="30" value="" />
  9.        <div class="clear"></div>
  10.        <div class="input_label user_subject"><label>Sujet</label></div>
  11.        <input name="subject" type="text" id="subject" class="subject" size="30" value="" />
  12.        <div class="clear"></div>
  13.        <textarea name="comments" cols="40" rows="3"  id="comments"></textarea>
  14.        <div class="clear"></div>
  15.        <div class="grid_7 alpha">
  16. <?php require_once("solvemedialib.php" );   //include the Solve Media library  
  17. echo solvemedia_get_html("j'ai bien ma clé dans l'originale" );
  18. ?>
  19.         <input type="submit" class="button white contact_submit" id="submit" value="Send your message" />
  20.        </div>
  21.        <div class="clear"></div>
  22.       </fieldset>
  23.      
  24.       </form>


 
contact.form.php

Code :
  1. // Debut code captcha
  2. <?php
  3. require_once("solvemedialib.php" );
  4. $privkey="mes clés sont ok dans l'originale";
  5. $hashkey="mes clés sont ok dans l'originale";
  6. $solvemedia_response = solvemedia_check_answer($privkey,
  7.     $_SERVER["REMOTE_ADDR"],
  8.     $_POST["adcopy_challenge"],
  9.     $_POST["adcopy_response"],
  10.     $hashkey);
  11. if (!$solvemedia_response->is_valid) {
  12. //handle incorrect answer
  13. print "Error: ".$solvemedia_response->error;
  14. }
  15. else {
  16. //process form here
  17. }
  18. // Fin code Captcha.  
  19. // Code formulaire qui fonctionne.
  20. if(!$_POST) exit;
  21. // Email address verification, do not edit.
  22. function isEmail($email) {
  23. return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
  24. }
  25. if (!defined("PHP_EOL" )) define("PHP_EOL", "\r\n" );
  26. $name     = $_POST['name'];
  27. $email    = $_POST['email'];
  28. $subject  = $_POST['subject'];
  29. $comments = $_POST['comments'];
  30. if(trim($name) == '') {
  31. echo '<div class="error_message">Attention! Vous devez entrer votre nom.</div>';
  32. exit();
  33. } else if(trim($email) == '') {
  34. echo '<div class="error_message">Attention! Vous devez entrer une adresse mail valide.</div>';
  35. exit();
  36. } else if(!isEmail($email)) {
  37. echo '<div class="error_message">Attention! Vous avez entré une adresse mail invalide, essayez à nouveau.</div>';
  38. exit();
  39. }
  40. if(trim($subject) == '') {
  41. echo '<div class="error_message">Attention! Indiquez un sujet.</div>';
  42. exit();
  43. } else if(trim($comments) == '') {
  44. echo '<div class="error_message">Attention! Vous devez entrer un message.</div>';
  45. exit();
  46. }
  47. if(get_magic_quotes_gpc()) {
  48. $comments = stripslashes($comments);
  49. }
  50. $address = "admin@hidden.fr";
  51. $e_subject = 'You\'ve been contacted by ' . $name . '.';
  52. $e_body = "Formulaire de $name concernant $subject, message ci dessous." . PHP_EOL . PHP_EOL;
  53. $e_content = "\"$comments\"" . PHP_EOL . PHP_EOL;
  54. $e_reply = "Vous pouvez contacter $name par email, $email ou phone $phone";
  55. $msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
  56. $headers = "From: $email" . PHP_EOL;
  57. $headers .= "Reply-To: $email" . PHP_EOL;
  58. $headers .= "MIME-Version: 1.0" . PHP_EOL;
  59. $headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL;
  60. $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL;
  61. if(mail($address, $e_subject, $msg, $headers)) {
  62. // Email has sent successfully, echo a success page.
  63. echo "<fieldset>";
  64. echo "<div id='success_page'>";
  65. echo "<h2>Votre message a bien été envoyé.</h2>";
  66. echo "<p>Merci <span class='text-green'>$name</span>, votre message nous a bien été transmis, nous ferons tout pour vous répondre rapidement.</p>";
  67. echo "</div>";
  68. echo "</fieldset>";
  69. } else {
  70. echo 'ERROR!';
  71. }
  72. ?>


 
Je me doute bien que j'ai fait beaucoup d'erreurs.
Si quelqu'un avait la gentillesse de me les expliquer.
 
Concrètement, la validation du formulaire n'est toujours pas reliée à la réussite du code antispam.  
 
J'ai donné SolveMedia en exemple, je ne suis pas sûre de l'utiliser mais son design me convient.
 
 :??:  :??:  

mood
Publicité
Posté le 06-11-2014 à 20:58:16  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP]Aide Débutant Ajouter Captcha formulaire de contact existant

 

Sujets relatifs
exercice C ( debutant) demande d explicationsDébutant erreur ptit batch
aide urgentaide vba excel to ppt
Rapport d'analyse - aide à la conceptionAjouter un style CSS à une image
Python programme aide[Excel][VBA] Ajouter plusieurs séries à un plot nb données variables
[PHP] Checkbox dans une listeProblème code C++ débutant watershed
Plus de sujets relatifs à : [PHP]Aide Débutant Ajouter Captcha formulaire de contact existant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR