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

  FORUM HardWare.fr
  Programmation
  PHP

  validation code anti-spam

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

validation code anti-spam

n°1696850
t671
Posté le 04-03-2008 à 11:09:56  profilanswer
 

Bonjour,
 
J'ai un formulaire dans lequel je souhaiterais inclure un code de vérification anti-spam.
 
1) J'ai essayé d'utiliser cryptographp_1.4, mais ça ne fonctionne pas, et je ne m'en sors pas. A la demande d'affichage du formulaire, il me met des msgs d'erreurs :
Warning: main(cryptographp.fct.php) [function.main]: failed to open stream: No such file or directory in /mnt/146/sda/1/4/th11/contact_byc.php on line 3
 
Warning: main() [function.include]: Failed opening 'cryptographp.fct.php' for inclusion (include_path='/mnt/146/sda/1/4/th11/include:.:/usr/php4/lib/php') in /mnt/146/sda/1/4/th11/contact_byc.php on line 3

 
et me dit que le message a bien été envoyé. Effectivement, je reçois un msg vide ds ma bal !!!!
 
2) J'essaye donc de créer moi-même une vérification .....
La page de saisie du commentaire s'ouvre donc, avec les champs à remplir (adr email, nom, commentaire), et s'affiche un code numérique qui n'est autre que l'heure, minute, seconde ($heure_x) du système au format uniquement numérique sur 8 caractères.
Une case se trouve à côté où la personne doit recopier la valeur de $heure_x.
Si la saisie est = à $heure_x, il y a inscription ds la base (add.php), sinon, il y a boucle sur le formulaire.
 
Mon problème est que je n'arrive pas à faire la vérification ......
 
Mon formulaire :
 

Code :
  1. <form method="POST" action="add.php" value="envoyer" name="soumettre">
  2. <p><u><b>Votre Nom :</b></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <textarea cols="40" name="nom" id="Nom" rows="1"></textarea><br>
  3. <u><b>Adresse mail :</b></u>&nbsp;&nbsp;&nbsp; <textarea cols="40" name="mail" id="Mail" rows="1"></textarea></p>
  4. <center>
  5. <p><u><b>Votre commentaire :</b></u><p><textarea cols="65" name="message" id="Message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><p>
  6. <?php
  7. $heure_x = date("His" );
  8. echo "Code ='$heure_x' ";
  9. ?>
  10. <textarea cols="8" name="heure_x" id="heure_x" rows="1" ></textarea><p>
  11. <input type="button" value="Aperçu" onclick="TAinsert;OpenPreview();" style="text-decoration: none">
  12. <input type="submit" name="preview" value="Valider">
  13. <input type="reset" value="Effacer">
  14. <!-- permet de passer id_reco au script suivant (add.php) -->
  15. <input type="hidden" name="id_reco" id="id_reco" value="<?php echo $_GET['id_reco']; ?>"><p>
  16. <a href="menu.php"><img src="annuler.JPG" border="0"></a>
  17. </form>


 
Merci pour votre aide !
 

mood
Publicité
Posté le 04-03-2008 à 11:09:56  profilanswer
 

n°1696862
skeye
Posté le 04-03-2008 à 11:31:46  profilanswer
 

t671 a écrit :

Bonjour,

 

J'ai un formulaire dans lequel je souhaiterais inclure un code de vérification anti-spam.

 

1) J'ai essayé d'utiliser cryptographp_1.4, mais ça ne fonctionne pas, et je ne m'en sors pas. A la demande d'affichage du formulaire, il me met des msgs d'erreurs :
Warning: main(cryptographp.fct.php) [function.main]: failed to open stream: No such file or directory in /mnt/146/sda/1/4/th11/contact_byc.php on line 3

 

Warning: main() [function.include]: Failed opening 'cryptographp.fct.php' for inclusion (include_path='/mnt/146/sda/1/4/th11/include:.:/usr/php4/lib/php') in /mnt/146/sda/1/4/th11/contact_byc.php on line 3

 

et me dit que le message a bien été envoyé. Effectivement, je reçois un msg vide ds ma bal !!!!

 

Le message est clair, tu essaies d'inclure un fichier qui n'existe pas - pas à l'endroit où tu dis à php qu'il est, en tout cas.


Message édité par skeye le 04-03-2008 à 11:32:16

---------------
Can't buy what I want because it's free -
n°1696878
t671
Posté le 04-03-2008 à 11:50:51  profilanswer
 

Merci skeye,
 
Si je corrige l'accès, j'ai ça :
 
Warning: session_start() [function.session-start]: open(/mnt/146/sda/1/4/th11/sessions/sess_8617018a5c406f1e71b9324b34b6b24b, O_RDWR) failed: No such file or directory (2) in /mnt/146/sda/1/4/th11/crypt/cryptographp.fct.php on line 14
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/146/sda/1/4/th11/crypt/cryptographp.fct.php:14) in /mnt/146/sda/1/4/th11/crypt/cryptographp.fct.php on line 14
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/146/sda/1/4/th11/crypt/cryptographp.fct.php:14) in /mnt/146/sda/1/4/th11/crypt/cryptographp.fct.php on line 14
 
Votre message a été envoyé.
Envoyer un autre message...  
Warning: Unknown(): open(/mnt/146/sda/1/4/th11/sessions/sess_8617018a5c406f1e71b9324b34b6b24b, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
 
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/146/sda/1/4/th11/sessions) in Unknown on line 0

 
?????? Ca veut dire quoi ????
 
 
Et pour le script que j'essaye de créer, tu en penses quoi ?
 

n°1696881
skeye
Posté le 04-03-2008 à 11:53:46  profilanswer
 

il doit y avoir un truc à faire chez ton hébergeur pour permettre l'utilisation de sessions, genre créer le répertoire qui va bien...


---------------
Can't buy what I want because it's free -
n°1696885
t671
Posté le 04-03-2008 à 12:04:52  profilanswer
 

skeye a écrit :

il doit y avoir un truc à faire chez ton hébergeur pour permettre l'utilisation de sessions, genre créer le répertoire qui va bien...


 
Le site est hébergé chez Free, le chmod est 777.
 
Je vois pas ce que je peux faire de plus ......

n°1696888
skeye
Posté le 04-03-2008 à 12:09:09  profilanswer
 

t671 a écrit :


 
Le site est hébergé chez Free, le chmod est 777.
 
Je vois pas ce que je peux faire de plus ......


il y a un répertoire sessions dans ton arborescence?


---------------
Can't buy what I want because it's free -
n°1696930
t671
Posté le 04-03-2008 à 13:26:28  profilanswer
 

skeye a écrit :


il y a un répertoire sessions dans ton arborescence?


 
Non !
 

n°1696932
skeye
Posté le 04-03-2008 à 13:27:00  profilanswer
 

bah crée le...


---------------
Can't buy what I want because it's free -
n°1696934
t671
Posté le 04-03-2008 à 13:28:09  profilanswer
 

skeye a écrit :

bah crée le...


 
Et je met quoi dedans ???

n°1696935
skeye
Posté le 04-03-2008 à 13:28:34  profilanswer
 

rien, il mettra tout seul.


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 04-03-2008 à 13:28:34  profilanswer
 

n°1696947
t671
Posté le 04-03-2008 à 13:46:43  profilanswer
 

OK !!!!!
J'ai plus de message d'erreur, mais par contre, ça m'envoie automatiquement un email sans passer par le formulaire !!!???
 
Mon fichier contact_byc.php :
 

Code :
  1. <?php
  2.       $cryptinstall="../../../crypt/cryptographp.fct.php";include
  3.       $cryptinstall;
  4. ?>
  5. <?php
  6. // Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
  7. $email_webmaster = "t14@libertysurf.fr";
  8. // Rajout alphega: Dans cette ligne remplacez "example.com" par le nom de votre site. Utile si vous avez plusieurs formulaires.
  9. $titre_cache = "Depuis le site example.com: ";
  10. // === traitement des données du formulaire  
  11. if (isset($_POST["envoyer"])){
  12. // le formulaire a été soumis
  13. $etat = "erreur";
  14. // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
  15. // --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
  16. if (isset($_POST["email_expediteur"]))
  17.       {  $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));}
  18. if(isset($_POST["titre"]))
  19.       {  $_POST["titre"]=trim(stripslashes($_POST["titre"]));}
  20. if(isset($_POST["message"]))
  21.       {  $_POST["message"]=trim(stripslashes($_POST["message"]));}
  22. // --- test de la validité des champs saisis ---
  23. if (empty($_POST["email_expediteur"])) {
  24. // il manque l'email de l'expéditeur
  25. $erreur="Saisissez votre adresse email...";}
  26. elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
  27. // l'adresse e-mail n'est pas valide
  28. $erreur="Votre adresse e-mail n'est pas valide...";}
  29. elseif (empty($_POST["message"])) {
  30. // le message est vide
  31. $erreur="Saisissez un message...";}
  32. elseif (empty($_POST["code"])) {
  33. // le code n'est pas saisi
  34. $erreur="Saisissez le code de verification...";}
  35. else {
  36. // --- Vérification de la validité du code captcha ---
  37. if (chk_crypt($_POST['code']))
  38. // --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
  39. $etat="ok";
  40. // --- Le code captcha n'est pas valide ---
  41. else $erreur="Code de verification non valide ...";}}else {
  42. // --- le formulaire n'a pas été soumis ---
  43. $etat="attente";}
  44. // === fin de traitement des données du formulaire  
  45. ?>
  46. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  47. <html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
  48. <head>
  49. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  50. <title>Formulaire de contact</title>
  51. </head>
  52. <body>
  53. <h1>Contacter le webmaster</h1>
  54. <?php
  55. if ($etat!="ok" ){// le formulaire n'a pas été soumis, ou soumis avec une erreur
  56. if ($etat=="erreur" ){//le formulaire a été soumis avec une erreur
  57. echo "<p><strong>".$erreur."</strong></p>\n";// afficher le message d'erreur}
  58. ?>
  59. <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>?<?php echo SID; ?>"><p>
  60. <label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
  61. <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="&lt;?phpif (!empty($_POST[&quot;email_expediteur&quot;])) {//  
  62.       l'adresse email de l'expéditeur a été saisie: la réafficherecho
  63.       htmlspecialchars($_POST[&quot;email_expediteur&quot;],ENT_QUOTES);}?&gt;"?>" /></p><p>
  64.   <label for="titre">Titre de message (facultatif):</label><br />
  65. <input type="text" size="40" name="titre" id="titre" value="&lt;?phpif (!empty($_POST[&quot;titre&quot;]))
  66.       {// le titre du message a été saisi: le réafficherecho  
  67.       htmlspecialchars($_POST[&quot;titre&quot;],ENT_QUOTES);}?&gt;"?>" /></p><p>
  68.   <label for="message">Message (obligatoire):</label><br />
  69.   <textarea name="message" id="message" cols="40" rows="5">
  70. <?php
  71. if (isset($_POST["message"])) {// le message a été saisi: le réafficher
  72. echo htmlspecialchars($_POST["message"],ENT_QUOTES);}
  73. ?>
  74. </textarea></p>
  75. <?php
  76. dsp_crypt(0,1); ?><p>
  77.  <input type="text" name="code" /></p><p>
  78.  <input type="submit" name="envoyer" value="Envoyer" /></p>
  79. </form>
  80. <?php
  81. }else { // le formulaire a été soumis sans erreur, on envoie le mail
  82. $entete = "From: ".$_POST["email_expediteur"]."
  83.       <".$_POST["email_expediteur"].">\n";
  84.   $entete .= "Return-Path: ".
  85.       $email_webmaster . "\n";$entete .= "MIME-Version: 1.0";$ip.="Adresse IP: ". $_SERVER['REMOTE_ADDR'] . "\n";$nav.="Navigateur: ". $_SERVER['HTTP_USER_AGENT'] . "\n\n";
  86. if (@mail($email_webmaster,$titre_cache.$_POST["titre"],$ip.$nav.$_POST["message"],$entete)){
  87. // mail envoyé
  88.    echo "Votre message a été envoyé.<br />\n";
  89.  echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
  90. }else { // erreur lors de l'envoi du mail
  91. echo "Un problème s'est produit lors de l'envoi du message.\n";
  92. echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
  93. } } }
  94. ?>
  95. </body></html>


 
Merci pour ton aide ....

n°1696950
skeye
Posté le 04-03-2008 à 13:49:06  profilanswer
 

Mettre un formulaire et le traitement de son résultat dans le même script engendre quasiment toujours ce genre de problèmes chez les débutants...je te conseille de découper ça en 2 scripts distincts pour mieux comprendre ce qui se passe - je t'avoue que j'ai la flemme de chercher, là.


---------------
Can't buy what I want because it's free -

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

  validation code anti-spam

 

Sujets relatifs
[RESOLU] Simplifier mon code de date sur 7 jours dans menu deroulantCompréhension ligne de code ?
récupérer le code HTMl à partir d'une page webcode paypal dysfonctionement du forum
[réglé] petite problème de codesupprimer un bout de code lors d'une inclusion
Code HTML différent selon l'heureAttribut "code", validité W3C
Problème avec bout de codesProblème code erreur PHP
Plus de sujets relatifs à : validation code anti-spam


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