Je ne suis pas compétent en PHP voila pourquoi je demande de l'aide.
Je souhaite installer un captcha google sur la page livre d'or de mon site internet. C'est un formulaire simple avec le nom/pseudo, le message et l'affichage des messages sur la page après modération.
Ma démarche est simple, mettre un captcha google entre l'écriture du message et l'envoie du message de façon a éviter les spams.
Le problème que je rencontre est qu'il est toujours possible de valider le message en cliquant sur "ENVOYER" que l'on clique ou pas sur le captcha "Je ne suis pas un robot".
Je souhaiterais faire en sorte que le message ne soit validé qu'après avoir cliqué sur le captcha.
Y'aurait il une âme charitable pour me donner un coup de main ?
Merci a vous
<!-- CONTENU -->
<div class="livreor_container">
<!-- Row -->
<div class="row">
<!-- Image 1 -->
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 portfolio-item">
<?php
foreach($_POST as $key => $val) echo '$_POST["'.$key.'"]='.$val.'<br />';
?>
<?php
mysql_connect('','','');
mysql_select_db('');
$Msg = '';
if( count($_POST) > 0 ){
if( empty($_POST['Pseudo']) ){
$Msg = 'Vous devez saisir un pseudo.<br />';
}
if( empty($_POST['Message']) )
$Msg .= 'Vous devez saisir un message';
if( $Msg == '' ){
$IsInsert = mysql_query('INSERT INTO messages VALUES ("0","'.mysql_real_escape_string(htmlspecialchars($_POST['Pseudo'],ENT_QUOTES)).'","'.mysql_real_escape_string(htmlspecialchars($_POST['Message'],ENT_QUOTES)).'",CURRENT_TIMESTAMP,0) ') or 0;
if( $IsInsert != 0 ){
$Msg = '<p style="color:green;font-weight:bold;">Votre message a bien été sauvegardé, il est en attente de modération.</p>';
}
else{
$Msg = '<p style="color:red;font-weight:bold;">Il y a eu un soucis technique si le problème persiste merci de nous contacter. Veuillez réessayer ans quelque minutes.</p>';
}
}
else{
$Msg = '<p style="color:red;font-weight:bold;">'.$Msg.'</p>';
}
}
?>
<h1>Un commentaire ? Un avis ? Une idée ? Une amélioration ? <br><br>Laissez votre message ici !</h1><?= $Msg; ?>
<form action="" method="post">
<div class="row">
<div class="col-lg-6 field">
<div class="form-group">
<label for="Pseudo">Votre pseudo :</label>
<input required type="text" name="Pseudo" class="form-control" id="Pseudo" value=""/>
</div>
</div>
<div class="col-lg-12 margintop10 field">
<div class="form-group">
<label for="Message">Votre message</label>
<textarea required id="Message" name="Message" class="form-control" cols="60" rows="10"></textarea>
</div>
</div>
<div class="col-lg-12 margintop10 field">
<div class="form-group">
<div class="g-recaptcha" data-sitekey=""></div>
</div>
</div>
<div class="col-lg-12">
<button type="submit" name="Send" value="Envoyer mon message" class="btn btn-primary btn-lg">Envoyer</button>
</div><br>
</div>
<br>
<br>
<br>
<br>
</form>
<?php
//================
// Affichage des messages
//================
$num_rec_per_page=5;
if (isset($_GET['page']))
$page = intval($_GET['page']); // intval() convertie la valeur en entier, pour être sur qu'un utilisateur ne mette pas n'importe quoi (injection SQL)
else
$page = 1;
$nbr_resultat = 5; // nombre de messages à afficher
$start_query = ($page-1)*$nbr_resultat; // on demande à Mysql de récupérer les messages à partir de ce nombre, qui dépend de la page affichée, et du nombre de messages à afficher
$LesMessages = mysql_query("SELECT * FROM messages WHERE PublierMessage=1 ORDER BY idMessage DESC LIMIT $start_query,$nbr_resultat");
if( mysql_num_rows($LesMessages) > 0 ){
while( $UnMessage = mysql_fetch_array($LesMessages) ){
$Date = date_parse($UnMessage['DateMessage']);
echo '
<div class="row">
<div class="col-lg-12">
<p>
Par <strong>'.$UnMessage['AuteurMessage'].'</strong> Le : <em>'.$Date['day'].'/'.$Date['month'].'/'.$Date['year'].'</em> à <em>'.$Date['hour'].'h'.$Date['minute'].'</em> <br />
'.nl2br($UnMessage['Message']).'
</p>
<hr />
</div>
</div>
';
}
}
$IsInsert = "SELECT * FROM messages";
$rs_result = mysql_query($IsInsert); //run the query
$total_records = mysql_num_rows($rs_result); //count number of records
$total_pages = ceil($total_records / $num_rec_per_page);
echo "<a href='livredor.php?page=1'>".'‹ Préc.'."</a> "; // Goto 1st page
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='livredor.php?page=".$i."'>".$i."</a> ";
}
echo "<a href='livredor.php?page=$total_pages'>".'Suiv. >'."</a> "; // Goto last page
//================
// Affichage des messages
//================
//$LesMessages = mysql_query("SELECT * FROM messages WHERE PublierMessage=1 ORDER BY idMessage DESC LIMIT $start_from, $num_rec_per_page"); J'ai supprimer cette partie avec les 2 accolades pour supprimer l'erreur
//if( mysql_num_rows($LesMessages) > 0 ){
while( $UnMessage = mysql_fetch_array($LesMessages) ){
$Date = date_parse($UnMessage['DateMessage']);
echo '
<div class="row">
<div class="col-lg-12">
<p>
Par <strong>'.$UnMessage['AuteurMessage'].'</strong> Le : <em>'.$Date['day'].'/'.$Date['month'].'/'.$Date['year'].'</em><br />
'.nl2br($UnMessage['Message']).'
</p>
<hr />
</div>
</div>
';
}
//}
?>
</div>
</div>
<!-- Fin Image 1 -->
</div>
<!-- Fin row -->
</div>
<!-- FIN CONTENU -->