Après installation du nouveau reCaptcha de Google

Fermé
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 - 3 août 2015 à 01:58
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 3 août 2015 à 16:53
Bonjour,
Je viens d'installer le nouveau recaptcha de Google sur un formulaire,
j'ai fixé les conditions pour qu'il m'affiche si le captcha a été validé ou non.
Tout cela fonctionne si je ne mets pas l'action dans le formulaire.

si l'action est fixée dans la balise <form action=fichiertraitement.php> il m'envoit le formulaire même si le recaptcha n'est pas validé ou invalide.
Comment faire pour bloquer l'action du formulaire si recaptcha n'est pas validé ou invalide.

Merci pour votre aide



A voir également:

4 réponses

bik225 Messages postés 387 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 31 août 2017 72
3 août 2015 à 02:42
Salut !
Si c'est comme ça que tu as écrit ton code, alors tu dois ajouter les apostrophes, remplace par ceci :
<form action='fichiertraitement.php'>

Ou :
<form action="fichiertraitement.php">

0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
3 août 2015 à 11:01
Bonjour,
Merci pour ta réponse, mais ce n'est pas cela la cause car en réalité les acolades sont présentes dans mon code, mon code correspond bien à ceci : <form action="fichiertraitement.php">

Merci de me tenir informé su tu as une solution
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
3 août 2015 à 14:40
Salut,

Ton fichier de traitement php doit vérifier au début du script si le catptcha est valide.

Plus d'info : https://developers.google.com/recaptcha/docs/verify

Bonne journée
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
3 août 2015 à 15:29
Voici mon code vérification du recaptcha qui doit se trouver impérativement hors formulaire pour passer les messages de validation ou non ou invalide:
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
$keysecret = 'ma_clé_secrète';
$response = $_POST['g-recaptcha-response'];
$ip = $_SERVER['REMOTE_ADDR'] ;
$erreur = 'vous avez une erreur sur reCAPTCHA';

$reponse_google = 'https://www.google.com/recaptcha/api/siteverify?secret='.$keysecret.'&response='.$response.'&remoteip='.$ip;

$json = json_decode(file_get_contents($reponse_google), true);

if($json['success'])
{
C'est là que je bloque
echo $envoi= 'envois_formulaires/envoi_form_contact.php';
echo 'Bravo ! Vous avez validé correctement reCAPTCHA';
}else{
echo $erreur;
}

}
?>
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
3 août 2015 à 16:53
Le problème semble venir de la condition
if($json['success'])
qui n'est pas assez précise.
En effet cette condition est vraie tant que la variable $json['success'] n'est pas une chaine vide, or il faut vérifier que cette variable soit également égale à la chaine 'true' :

if($json['success'] === 'true') 
0