par
jeicko » 12 mars 2021, 13:43
Merci pour le tutoriel en FR mais entre temps j'en ai suivi un autre.
Je n'étais pas sur de ce que j'avais fait avec le tutoriel que j'ai trouvé mais la pastille recaptcha apparait bien sur mon site (j'avais supprimé le recaptcha du formulaire de contact pour pouvoir voir la 2e)
Ce n'est pas moi qui avait fait le recaptcha du formulaire de contact.
J'ai l'impression d'avoir fait quelque chose d'aléatoire sur mon code, j'ai bien la pastille mais comment être sur que ça fonctionne ? car quand je supprime un bout de mon code j'ai quand meme la pastille..
Je mets quand même mon code même si tu n'as pas le temps de le regarder pour le moment :
Code : Tout sélectionner
<!-- Début Commentaires -->
<form action="add_comment.php" id="comment_form" method="POST">
<div class="fields">
<div class="field half">
<label for="name">Pseudo</label>
<input
type="text"
name="comment_name"
id="comment_name"
required
/>
</div>
<div class="field half">
<label for="email">Email</label>
<input type="email" name="email" id="email" required />
</div>
<div class="field">
<label for="message">Message</label>
<textarea
name="comment_content"
id="comment_content"
rows="4"
required
></textarea>
<span id="comment_message"></span>
<!--Ton message a bien été envoyé-->
<!--Une «alerte» div cachée ci-dessous pour afficher le message reçu du serveur une fois le formulaire soumis-->
<div id="alert2"></div>
<!--recaptcha cachée ci-dessous-->
<input
type="hidden"
class="grecaptcha-badge"
id="recaptchaResponse-com"
name="recaptcha-response"
/>
<input
type="hidden"
name="comment_id"
id="comment_id"
value="0"
/>
<!--Fin alerte-->
</div>
</div>
<ul class="actions">
<li>
<button class="primary" type="submit">Envoyer</button>
</li>
<li>
<input type="reset" value="Effacer" />
</li>
</ul>
</form>
<!--recaptcha-->
<script src="https://www.google.com/recaptcha/api.js?render=***"></script>
<script>
grecaptcha.ready(function () {
grecaptcha
.execute("***", {
action: "homepage",
})
.then(function (token) {
document.getElementById(
"recaptchaResponse-com"
).value = token;
});
});
</script>
Code : Tout sélectionner
<?php
//add_comment.php
$connect = new PDO('***');
$error = '';
$comment_name = '';
$comment_content = '';
$email = '';
// Début recaptcha
// On vérifie si le champ "recaptcha-response" contient une valeur
if(empty($_POST['recaptcha-response'])){
header('Location: index.html');
}else{
// On prépare l'URL
$url = "https://www.google.com/recaptcha/api/siteverify?secret=***&response={$_POST['recaptcha-response']}";
// On vérifie si curl est installé
if(function_exists('curl_version')){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
}else{
// On utilisera file_get_contents
$response = file_get_contents($url);
}
// On vérifie qu'on a une réponse
if(empty($response) || is_null($response)){
header('Location: index.html');
}else{
$data = json_decode($response);
if($data->success){
// Google a répondu avec un succès
// On traite le formulaire
}else{
header('Location: index.html');
}
}
// Fin recaptcha
if(empty($_POST["comment_name"]))
{
$error .= '<p class="text-danger"></p>';
}
else
{
$comment_name = $_POST["comment_name"];
}
if(empty($_POST["comment_content"]))
{
$error .= '<p class="text-danger"></p>';
}
else
{
$comment_content = $_POST["comment_content"];
}
if(empty($_POST["email"]))
{
$error .= '<p class="text-danger"></p>';
}
else
{
$email = $_POST["email"];
}
if($error == '')
{
$query = "
INSERT INTO tbl_comment
(parent_comment_id, comment, comment_sender_name, email)
VALUES (:parent_comment_id, :comment, :comment_sender_name, :email)
";
$statement = $connect->prepare($query);
$statement->execute(
array(
':parent_comment_id' => $_POST["comment_id"],
':comment' => $comment_content,
':comment_sender_name' => $comment_name,
':email' => $_POST["email"]
)
);
$error = '<label class="validation">Ton message a bien été envoyé !</label>';
}
else{
header('Location: index.html');// Fin recaptcha-2
}
}
$data = array(
'error' => $error
);
echo json_encode($data);
?>
Merci pour le tutoriel en FR mais entre temps j'en ai suivi un autre.
Je n'étais pas sur de ce que j'avais fait avec le tutoriel que j'ai trouvé mais la pastille recaptcha apparait bien sur mon site (j'avais supprimé le recaptcha du formulaire de contact pour pouvoir voir la 2e)
Ce n'est pas moi qui avait fait le recaptcha du formulaire de contact.
J'ai l'impression d'avoir fait quelque chose d'aléatoire sur mon code, j'ai bien la pastille mais comment être sur que ça fonctionne ? car quand je supprime un bout de mon code j'ai quand meme la pastille..
Je mets quand même mon code même si tu n'as pas le temps de le regarder pour le moment :
[code] <!-- Début Commentaires -->
<form action="add_comment.php" id="comment_form" method="POST">
<div class="fields">
<div class="field half">
<label for="name">Pseudo</label>
<input
type="text"
name="comment_name"
id="comment_name"
required
/>
</div>
<div class="field half">
<label for="email">Email</label>
<input type="email" name="email" id="email" required />
</div>
<div class="field">
<label for="message">Message</label>
<textarea
name="comment_content"
id="comment_content"
rows="4"
required
></textarea>
<span id="comment_message"></span>
<!--Ton message a bien été envoyé-->
<!--Une «alerte» div cachée ci-dessous pour afficher le message reçu du serveur une fois le formulaire soumis-->
<div id="alert2"></div>
<!--recaptcha cachée ci-dessous-->
<input
type="hidden"
class="grecaptcha-badge"
id="recaptchaResponse-com"
name="recaptcha-response"
/>
<input
type="hidden"
name="comment_id"
id="comment_id"
value="0"
/>
<!--Fin alerte-->
</div>
</div>
<ul class="actions">
<li>
<button class="primary" type="submit">Envoyer</button>
</li>
<li>
<input type="reset" value="Effacer" />
</li>
</ul>
</form>
<!--recaptcha-->
<script src="https://www.google.com/recaptcha/api.js?render=***"></script>
<script>
grecaptcha.ready(function () {
grecaptcha
.execute("***", {
action: "homepage",
})
.then(function (token) {
document.getElementById(
"recaptchaResponse-com"
).value = token;
});
});
</script>[/code]
[code]<?php
//add_comment.php
$connect = new PDO('***');
$error = '';
$comment_name = '';
$comment_content = '';
$email = '';
// Début recaptcha
// On vérifie si le champ "recaptcha-response" contient une valeur
if(empty($_POST['recaptcha-response'])){
header('Location: index.html');
}else{
// On prépare l'URL
$url = "https://www.google.com/recaptcha/api/siteverify?secret=***&response={$_POST['recaptcha-response']}";
// On vérifie si curl est installé
if(function_exists('curl_version')){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
}else{
// On utilisera file_get_contents
$response = file_get_contents($url);
}
// On vérifie qu'on a une réponse
if(empty($response) || is_null($response)){
header('Location: index.html');
}else{
$data = json_decode($response);
if($data->success){
// Google a répondu avec un succès
// On traite le formulaire
}else{
header('Location: index.html');
}
}
// Fin recaptcha
if(empty($_POST["comment_name"]))
{
$error .= '<p class="text-danger"></p>';
}
else
{
$comment_name = $_POST["comment_name"];
}
if(empty($_POST["comment_content"]))
{
$error .= '<p class="text-danger"></p>';
}
else
{
$comment_content = $_POST["comment_content"];
}
if(empty($_POST["email"]))
{
$error .= '<p class="text-danger"></p>';
}
else
{
$email = $_POST["email"];
}
if($error == '')
{
$query = "
INSERT INTO tbl_comment
(parent_comment_id, comment, comment_sender_name, email)
VALUES (:parent_comment_id, :comment, :comment_sender_name, :email)
";
$statement = $connect->prepare($query);
$statement->execute(
array(
':parent_comment_id' => $_POST["comment_id"],
':comment' => $comment_content,
':comment_sender_name' => $comment_name,
':email' => $_POST["email"]
)
);
$error = '<label class="validation">Ton message a bien été envoyé !</label>';
}
else{
header('Location: index.html');// Fin recaptcha-2
}
}
$data = array(
'error' => $error
);
echo json_encode($data);
?>
[/code]