salut, déjà je précise que c'est pas moi qui ai fait le code donc c'est pour ça que je pige pas certains trucs.

Pour éviter d'avoir 50 commentaires chaque jour à cause de bots, j'essaye de voir pour un captcha textuel, image ou un champ caché. Mais le truc c'est que j'arrive pas à placer le reste de mon code initial dans le if et le else.

genre si les 4 numéros sont bien écrits, alors on dit ok c bon le commentaire est bien ajouté et sinon les numéros sont pas bons.

Par exemple j'ai ça

Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 session_start();
?>
 
<form method="POST" action="">
<h3>Quel est ce chiffe? </h3>
<img src="captcha.php" /><br />
<input type="text" name="captcha" style="width:70px"/><br />
<input type="submit" />
</form>
 
<?php 
if($_POST['captcha']){
if($_POST['captcha']==$_SESSION['captcha']){
echo 'Bingo !';
}
else {
echo '<h3 style="color:red">Oups !</h3>';
}
}
?>

et le code de mon captcha

Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();
$_SESSION['captcha'] = rand(1000,9999);
 
$img = imagecreatetruecolor(70, 30);
$fill_color=imagecolorallocate($img,255,255,255);
imagefilledrectangle($img, 0, 0, 70, 30, $fill_color);
 
$text_color=imagecolorallocate($img,10,10,10);
$font = './28DaysLater.ttf';
imagettftext($img, 23, 0, 5,30, $text_color, $font, $_SESSION['captcha']);
 
header("Content-type: image/jpeg");
imagejpeg($img);
imagedestroy($img);

ça marche mais j'arrive pas à placer mon code initial dans le if

voila un bout de mon code index, c'est le formulaire de commentaires

Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<form action="index.php" method="POST">
			<?php
			echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
			echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
 
			?>&nbsp;
<br />
<?php
			echo '<input type="hidden" name="id_new" value="'.$id.'" />';
 
			echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
		?></form><br /><?php
		echo '</div>';
	}
	else {
		echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
	}
}
 
 
 
elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) {
	// Voir  en haut le code d'insertion dans la BD
	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
}
 
 
 
else {	// On affiche les nouveautés (page principale donc)
 
	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) <= 2 OR strlen($_POST['Message']) < 2)) {
		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
	}
	else {
		echo '&nbsp;&nbsp;';
	}

Si vous pouvez m'éclairer, ça m'avancerai pas mal ^^ je vous remercie !