Page 1 sur 1

Rafraichir code captcha

Posté : 28 mars 2015, 14:42
par Blaise
Bonjour à vous,

Mes connaissances en PHP sont niveau zéro.
Je viens de créer , après plusieurs semaines de prise de tête, un site
J'ai réussi à faire des formulaires de contact, avec captcha en faisant surtout des copier coller et en cherchant de manière empirique, ligne par ligne, à personnaliser le tout.

Mais voila, le dernier truc qu'il me reste à finir c'est le rafraîchissement de mon code captcha et je suis totalement bloqué.
J'ai trouvé tellement de réponses et j'ai tellement fait d'essais que je suis totalement perdu.

Voici où j'en suis et évidemment cela ne fonctionne pas:

<td>

<label for="captcha">Saisissez ce code :</label></td><td><input type="text" name="captcha" id="captcha" size="8"/>

<span class="code_captcha">

<img src="image.php?mot=<?php echo $rand;?>" alt="image captcha"/>

</span>

<button type="button" onclick="document.getElementById("captcha").src = "image.php?"r=+new Date().getTime();">Changer</button>

<br /><span id="msg_captcha" class="msg_erreur"></span>

</td>

Y aurait-il quelqu'un pouvant m'aider:
Soyez indulgent, vis à vis de mon inculture dans le domaine, en utilisant des mots compréhensibles par un ignare comme moi.

Merci par avance

Blaise

Re: Rafraichir code captcha

Posté : 28 mars 2015, 16:17
par tof73
<button type="button" onclick="document.getElementById("captcha").src = "image.php?"r=+new Date().getTime();">Changer</button>

tu changes le src de l'element qui a pour id captcha, hors cet element, c'est un champ de texte qui n'a pas de src.
ce qu'il faut changer, c'est :
<img src="image.php?mot=<?php echo $rand;?>" alt="image captcha"/>

donc
<img src="image.php?mot=<?php echo $rand;?>" alt="image captcha" id="monimage" />
et
<button type="button" onclick="document.getElementById("monimage").src = "image.php?"r=+new Date().getTime();">Changer</button>

Re: Rafraichir code captcha

Posté : 06 avr. 2015, 10:24
par Blaise
Bonjour à toutes et tous,

J'ai essayer le code de tof73, avec en lieu et place de "monimage" tous ce qui concernait mon captcha, c'est à dire:
Index.php (fichier d'ouverture de mon captcha) , image.php (fichier qui construit le code), bg.png (fond de mon code), style.css, et même avec mon fichier jquery....

Le bouton "changer" ne fait toujours rien!!!!
Comme vous pourrez le constater sur mon site: http://www.climatjusticesociale.org

Merci à vous

Blaise

Re: Rafraichir code captcha

Posté : 06 avr. 2015, 10:37
par @rthur
Bonjour,

Ça serait plus simple si tu nous donnais directement l'url de la bonne page ;-) http://www.climatjusticesociale.org/captcha1/index.php

Tu as un problème de guillemets fermantes/ouvrantes, si tu utilises des guillemets doubles pour définir un paramètre (ici onclick() ), alors à l'intérieur de cette définition tu ne peux mettre que des guillemets simples ou des guillemets doubles échappées (avec un un antislashes devant)
Voici un exemple :

Code : Tout sélectionner

<button type="button" onclick="document.getElementById('code_captcha').src = 'image.php?r='+new Date().getMilliseconds()">Changer</button>

Et sinon, tu as un problème dans ton code HTML avec une balise <body> en trop qui traine avant ton doctype

Re: Rafraichir code captcha

Posté : 06 avr. 2015, 11:07
par Blaise
Non de Zeus :o ,
Quelle rapidité, Merci, Merci, Merci, Merci @rthure.

Premièrement, merci pour le conseil de l'url :oops:
Deuxièmement, merci à toi d'avoir pris le temps de chercher sur mon site =D>
Troisièmement, merci pour la correction du code :D
Le bouton Changer, fait enfin bien quelque chose maintenant :?
Le problème c'est qu'il fait bien une première chose: enlever l'ancien code,
mais ce faignant ne fait pas la suite, c'est à dire qu'il ne met pas de nouveau code :cry: #-o :priere:

Voila l'url direct de la page: http://www.climatjusticesociale.org/captcha1/index.php :D

Dernier Merci (en attendant les suivants), merci pour le Body en trop.

Blaise

Je suis totalement bluffé par PHPFrance, je crois que je suis en train de devenir accro.

Re: Rafraichir code captcha

Posté : 06 avr. 2015, 11:21
par @rthur
;-)

L'url de ton image de captcha au chargement est la suivante :
http://www.climatjusticesociale.org/cap ... ?mot=UEWYV
Si tu veux un conseil, si tu passes en paramètre les caractères à rentrer en captcha, alors un robot peut les lire et donc ta protection ne sert à rien :-D

Ensuite le bouton Changer fait recharger l'image de la captcha avec un paramètre "r" :
http://www.climatjusticesociale.org/cap ... .php?r=892
Mais dans ce cas ton script image.php n'affiche pas de lettres et c'est là qu'est le problème.

Re: Rafraichir code captcha

Posté : 06 avr. 2015, 21:49
par Blaise
Merci pour vos conseils, hélas, tout cela reste totalement inatteignable pour un ignare comme moi.

Mais merci quand même.

Blaise

Re: Rafraichir code captcha

Posté : 06 avr. 2015, 22:27
par @rthur
Sinon, tu peux intégrer la solution de Google reCaptcha : https://www.google.com/recaptcha