Après installation du nouveau reCaptcha de Google
traderpierre
Messages postés
291
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Après installation du nouveau reCaptcha de Google
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Google photo - Télécharger - Albums photo
- Créer un compte google - Guide
4 réponses
Salut !
Si c'est comme ça que tu as écrit ton code, alors tu dois ajouter les apostrophes, remplace par ceci :
Ou :
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">
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
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
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;
}
}
?>
<?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;
}
}
?>
Le problème semble venir de la condition
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'])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')
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