J'aurai pu continuer cette demande sur mon dernier post, mais j'ai préféré reformuler.
J'ai suite à l'explication et l'aide de Cyrano (code que je reprend ici), rajouter un formulaire très simple en vu de test, de la façon suivante, cela pour que les robots ne puissent validé un formulaire automatiquement.
<?php
session_start();
$chiffre = rand(120000,600000); // Chiffre aléatoire
$_SESSION['chiffre'] = $chiffre; // Mise en session du chiffre
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Affichage d'une image générée</title>
<meta http-equiv="Content-type" content="image/png" />
</head>
<body>
<form method="post" action="" />
<img src="./captcha.php" alt="" />
<input type="text" name="item" />
<input type="hidden" name="chif" value="<?php echo $_SESSION['chiffre'] ?>" />
<input type="submit" name="ok" />
</form>
<?php
if(isset($_POST['ok'])){
if(isset($_POST['item']) && $_POST['item'] != $_POST['chif']){
echo "vous n'avez pas entrer le bon chiffre";
}
else{
echo $_POST['chif'];
}
}
?>
</body>
</html>
Et sur la page de creation de l'image<?php
session_start();
$im = imagecreate (70, 20);
$background_color = imagecolorallocate ($im, 150, 100, 120);
$text_color = imagecolorallocate ($im, 255, 255, 255);
imagestring ($im, 4, 10, 2, $_SESSION['chiffre'], $text_color);
imagepng ($im);
?>
Il n'y a pas de soucis, ca fonctionne, mais ma question est surtout de savoir si cela est suffisant et correct. Merci pour vos explications