Page 1 sur 1

besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 18:10
par scoubi
Bonsoir à tous,

J'ai un formulaire dans un fichier guestbook.php qui envoi ses données vers un fichier writeguest.php.
en utilisant form method="post" depuis le fichier guestbook.php
comme ceci :

Code : Tout sélectionner

<form method="post" action="verifier.php" onSubmit= 'if ( this.nom.value.length < 2 ) { return false ;} " '>
et voici mon formulaire :

Code : Tout sélectionner

<table> <tr><td><FONT FACE="monotype corsiva" size="4" name ="nom" color="white">Nom :</FONT></td> <td><input type=text name=nom size=25 ></td></tr> <tr><td><FONT FACE="monotype corsiva" size="4" name ="mail" color="white">Mail :</FONT></td> <td><input type=text name=mail size=25 ></td></tr> <tr><td><FONT FACE="monotupe corsiva" size="4" name ="message" color="white">Message:</FONT></td><td colspan=1> <textarea name=message rows=6 cols=47></textarea> </td></tr> </table>
Je suis entrain d'installer un captcha [urlhttp://www.captcha.fr/index.php?page=34][/url]
J'ai besoin de vos lumières pour traiter les données qui doivent être envoyées dans le fichier writeguest.php

La vérification du captcha ce fait dans la page vérifier.php par :

Code : Tout sélectionner

<?php if (chk_crypt($_POST['code'])) echo "Bravo"; else echo "Erreur"; ?>


Si je comprend on vérifie la valeur retournée du captcha en première ligne, si la valeur est bonne on doit envoyer les variables nom,mail et message dans le fichier writeguest.php else on ne fait rien.
pouvais vous m'aider je tourne en rond !
Merci par avance

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 18:49
par scoubi
Bon j'ai fait un premier pas j'arrive à récupérer mes variables du formulaire dans la page vérifier.php comme cela :

Code : Tout sélectionner

<?php if (chk_crypt($_POST['code'])) if(isset($_POST['code'])){ $name=$_POST['nom']; $mail=$_POST['mail']; $message=$_POST['message']; echo 'Salut '. $name.' '. $mail.' '. $message.'<br/>Bienvenue sur mon site !'; } ?>
et j'obtiens donc en affichage dans la page vérifier.php
Salut fab [email protected] je suis entrain d\'écrire un message à la française
Bienvenue sur mon site !
maintenant il faut que j'arrive à les poster dans ma page de traitement writeguest.php !

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 19:04
par xTG
Le code devrait plutôt être celui-ci :
if(isset($_POST['code']))
{
   if (chk_crypt($_POST['code']))
   {
Car on n'utilise pas une variable avant d'avoir vérifier son existence, et pas l'inverse. ;)

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 19:34
par scoubi
Merci à toi pour cette précision, mais j'ai testé dans les deux cas et ça fonctionnait quand même mais en définitive je me suis apperçu
que
if(isset($_POST['code']))
ne me servait pas car mes trois variables sont quand même récupérées et affichées.


j'en suis la pour l'instant

Code : Tout sélectionner

<?php $cryptinstall="./crypt/cryptographp.fct.php"; include $cryptinstall; ?> <?php if (chk_crypt($_POST['code'])) { $name=$_POST['nom']; $mail=$_POST['mail']; $message=$_POST['message']; echo 'Salut '. $name.' '. $mail.' '. $message.'<br/>Bienvenue sur mon site !'; } else { header('location:guestbook.php'); echo "javascript:alert('Le captcha est faux')"; } ?>
donc pour l'instant si le captcha est bon en page guestbook.php je récupère bien mes trois variables nom, mail et message. si le captcha est faux je recharge la page guestbook.php mais mon alert le captcha est faux ne s'affiche pas ! et je n'ai pas encore trouvé le moyen d'envoyer les trois variable vers mon fichier writeguest.php qui les compiles dans mon fichier txt

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 20:30
par scoubi
j'ai encore un peu avancé j'arrive à avoir un message d'erreur mais avant le chargement de la page et je cherche l'inverse !

voici ma modif

Code : Tout sélectionner

<?php $cryptinstall="./crypt/cryptographp.fct.php"; include $cryptinstall; ?> <?php if (chk_crypt($_POST['code'])) { $name=$_POST['nom']; $mail=$_POST['mail']; $message=$_POST['message']; echo 'Salut '. $name.' '. $mail.' '. $message.'<br/>Bienvenue sur mon site !'; } else { header('location:guestbook.php?update=ok'); } ?>
et dans ma page guestbook.php

Code : Tout sélectionner

<?php If(isset($_GET['update']) AND $_GET['update'] == "ok") echo "<script>alert(\"Le captcha est faux!\")</script>"; ?>

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 21:13
par scoubi
Je tourne en rond car en fait le fait de tester si le captcha est bon dans une autre page vide les champs du formulaire quand on retourne sur la page du formulaire et l'alerte apparait avant le chargement de la page... :^o :tir2:
Mon soucis est que j'utilise :

Code : Tout sélectionner

<form method="post" action="verifier.php" onSubmit= 'if ( this.nom.value.length < 2 ) { return false ;} " '>
quelqu'un aurait-il quelques instants pour m'aider ?

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 21:24
par xTG
Bien sûr que les deux cas fonctionnent... QUAND LA VARIABLE EXISTE ! :tir2:
Isset() est là pour vérifier l'existence et que tu ne manipules pas le néant.
Tu serais dans les années 80 avec un code comme celui là manipulant des pointeurs que tu pourrais avoir de drôles de surprises sur ton ordinateur à manipuler des adresses inconnues et aléatoires...
j'ai encore un peu avancé j'arrive à avoir un message d'erreur mais avant le chargement de la page et je cherche l'inverse !
Il faut dans ce cas supprimer ton header et mettre un lien HTML.
Ou bien placer le message sur ton formulaire sous condition et différencier l'url par exemple avec :
header('location:guestbook.php?update=erreur'); 
Je tourne en rond car en fait le fait de tester si le captcha est bon dans une autre page
La question qui se pose c'est pourquoi faire 36 pages pour un seul traitement ?

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 22:11
par scoubi
Bonsoir,

Le captcha que j'utilise est :

http://www.captcha.fr/index.php?page=34

la vérification du code captcha est dans une page verifier.php voila pourquoi je tourne en rond merci à toi de t'intéresser à mon cauchemard de la semaine :lol:
ton aide sera la bien venue car je découvre le php :oops: je m'accroche mais c'est dur 8-|

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 22:47
par xTG
En fait tu suis le tutorial d'installation basique sans l'adapter à ton site...
verifier.php est juste un nom pour le test, tu peux le remplacer par ce que tu veux et donc par ton script de vérification !

C'est pourtant très clair sur leur page :
La page de vérification (verifier.php dans l'exemple ci-dessus) récupère la valeur de la zone saisie (code dans l'exemple ci-dessus).
Tu dois donc récupérer les codes :
<?php 
 $cryptinstall="./crypt/cryptographp.fct.php";
 include $cryptinstall;  
 ?>
et
<?php
  if (chk_crypt($_POST['code'])) 
     echo "Bravo";
     else echo "Erreur";
?>
pour les insérer dans TON script de vérification.

Re: besoin d'aide pour un formulaire

Posté : 13 févr. 2014, 23:13
par scoubi
je suis totalement perdu et ceux depuis 15 jours je tourne en rond et je n'arrive pas à l'adapter dans mon questbook.php
pourrais tu m'aider je te prie voici mon guestbook.php

Code : Tout sélectionner

<?php $cryptinstall="./crypt/cryptographp.fct.php"; include $cryptinstall; ?> <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="description" CONTENT=""> <meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" > <meta name="keywords" CONTENT=""> <head> <title>Livre d'or</title> <script src="jquery.js"></script> <style type="text/css"> body { background: #000000; color: #000000; font-family: Verdana ; color:white; font-size:14px; } </style> <style type="text/css"> div.grande { width : 70%; } p{ line-height:25px; } </style> <?php if(isset($_POST['nobot'])) { // la case est cochée } ?> <form method="post" action="writeguest.php" onSubmit= 'if ( this.nom.value.length < 2 ) { return false ;} " '> <BR><p align="center"><FONT FACE="gabriola" size="9" color="white">Mon</FONT></BR><FONT FACE="gabriola" size="6" color="white">Livre d'or </FONT></p></FONT> <table border="0" align="center"> <tr><td><img src="test.jpg"></td><td> <Div> <table> <tr><td><FONT FACE="monotype corsiva" size="4" name ="nom" id="mom" color="white">Nom :</FONT></td> <td><input type=text name=nom size=25 ></td></tr> <tr><td><FONT FACE="monotype corsiva" size="4" name ="mail" id="mail" color="white">Mail :</FONT></td> <td><input type=text name=mail size=25 ></td></tr> <tr><td><FONT FACE="monotupe corsiva" size="4" name ="message" id="message" color="white">Message:</FONT></td><td colspan=1> <textarea name=message rows=6 cols=47></textarea> </td></tr> </table> </Div> </td><td><img src="livre.jpg"></td></td></tr></table> <script> $(document).ready(function(){ $('<div style="text-align:center;"><input type="checkbox" name="nobot" required="true"> Je confirme ne pas être un robot</div>').prependTo($('#maDiv')); }); </script> <div style="text-align:center;"><div id="maDiv"></div></div></BR> <table align="center"> <tr><td><?php dsp_crypt(0,1); ?></td></tr> <tr><td>recopiez le text suivant:<input type="text" name="code"></td></tr> </table> <div style="text-align:center;"><INPUT border=0 src="envoyer.jpg" type=image value="submit" /></div> </form> <div style="text-align:center;"><a href="/index.php"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div> <div align="center" ><div class="grande" style="border:3px solid #000000; padding 1px;"><div style="text-align:left;"><FONT FACE="gabriola" size="6" color="white" >Vos impressions, commentaires:</FONT></div></div> <div align="center" > <div class="grande" style="border:3px solid #FFFFFF; padding 3px;"><div style="text-align:left;"> <?php include("guestbook.txt"); ?></div></div> </body> </html>
peux tu m'aider dans ce cas à l'incérer ? car j'ai déjà essayé d'incérer

Code : Tout sélectionner

<?php if (chk_crypt($_POST['code'])) echo "Bravo"; else echo "Erreur"; ?>
dans mon guestbook.php si le captcha est bon le message est envoyé mais si le captcha est faux, le message est envoyé aussi !!!
te remerciant par avance

Re: besoin d'aide pour un formulaire

Posté : 14 févr. 2014, 10:34
par Invité
Bonjour à tous,

après intégration du code de vérification dans mon guestbook.php

Code : Tout sélectionner

<?php if (chk_crypt($_POST['code'])) echo "Bravo"; else echo "Erreur"; ?>
ce dernier n'est pas exécuté quand on click sur le bouton. j'aurais une fonction en javascript je pourrais l'associer à l'événement action= return fonction() tout en perdant ma vérification de mes deux caractères

Code : Tout sélectionner

<form method="post" action="verifier.php" onSubmit= 'if ( this.nom.value.length < 2 ) { return false ;} " '>
car si je ne m'abuse tout ce qui est après le return n'est pas exécute
comment peut on associer la vérification du captcha à l’événement du click ?
merci à tous

Re: besoin d'aide pour un formulaire

Posté : 14 févr. 2014, 10:38
par xTG
On ne mélange pas script serveur et script client...
La vérification du captcha doit se faire sur la page writeguest.php et non sur la page que tu nous montres.

Re: besoin d'aide pour un formulaire

Posté : 14 févr. 2014, 10:54
par scoubi
donc je dois donc implanter cette vérification

Code : Tout sélectionner

<?php if (chk_crypt($_POST['code'])) echo "Bravo"; else echo "Erreur"; ?>
en exécutant

Code : Tout sélectionner

<form method="post" action="writeguest.php" onSubmit= 'if ( this.nom.value.length < 2 ) { return false ;} " '>


dans mon writeguest.php ? et comment l’exécuter ??? et si le code est faux et gérer l'événement du retour de cette info ? je suis perdu car ça doit intervenir au niveau de
echo "Bravo";
else echo "Erreur";
car c'est mon guestbook.php qui affiche mon livre d'or

Re: besoin d'aide pour un formulaire

Posté : 14 févr. 2014, 17:39
par scoubi
Bon j'ai tout refait et après installation dans le writeguest.php j'ai bien bravo qui s'affiche et erreur sauf que en cas de mauvais captcha il affiche bien erreur mais poste quand même le message !
Qu'elle instruction en php je dois ajouter pour qu'il bloque le poste dans
else echo "Erreur";
Merci par avance

Re: besoin d'aide pour un formulaire

Posté : 17 févr. 2014, 22:31
par scoubi
Bonsoir personne pour m'aider please !