Code : Tout sélectionner
data-action='submit'Code : Tout sélectionner
type="submit"Code : Tout sélectionner
<button class="primary g-recaptcha" data-sitekey="reCAPTCHA_maclésite" data-callback='onSubmit' data-action='submit' type="submit">Envoyer</button>Code : Tout sélectionner
<!-- Début Rcaptcha V3 Commentaires -->
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_maclésite', {action: 'submit'}).then(function(token) {
// Add your logic to submit to your backend server here.
});
});
}
</script>
<!-- Fin Rcaptcha V3 Commentaires -->Code : Tout sélectionner
<!-- Recaptcha V3 commentaire Début -->
<script src="https://www.google.com/recaptcha/api.js"></script>
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_maclésite"></script>
<!-- Recaptcha V3 commentaire Fin -->
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);
?>
Code : Tout sélectionner
header('Location: index.html');
die();
}else{
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');
die();
}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');
die();
}else{
$data = json_decode($response);
if($data->success){
// Google a répondu avec un succès
// On traite le formulaire
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
die();
}
}else{
header('Location: index.html');
die();
}
}
// Fin recaptcha
$data = array(
'error' => $error
);
echo json_encode($data);
}
?>
if($data->success){
// Google a répondu avec un succès
// Ton traitement...
C'est exactement ce que tu fais !