bonjour a tous,
j'essais tant bien que mal (debutant en php ...) de faire une page avec un formulaire dans laquelle (et oui c'est pas parce que je débute que je veux pas avoir quelque chose de bien ) je met une image généré automatiquement grace à GD.

Le probleme c'est pas de faire l'image, là j'ai trouvé des tres bon tutorials.
Le probleme c'est que je n'arrive pas à recpurer le texte contenu dans l'image pour le comparé à celui ecris par l'user.

j'ai un fichier image.php qui genere une image contenant 5 lettres au hazard (avec des traits et des cercles)
ces lettres sont stocké dans une variable $codeImg.

voila mon fichier image.php
Code : 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
/*
 * script fait avec l'aide de http://jmhoule314.blogspot.com/2006/05/easy-php-captcha-tutorial-today-im.html
 *
 */
session_start();
$strlength = 5; //longueur variable de 4
//pour chaque char, on cherche une lettre au hazard
for($i=1;$i<=$strlength;$i++){
$textornumber = rand(1,2);
if($textornumber == 1)
	$codeImg .= chr(rand(65,74));
if($textornumber == 2)
	$codeImg .= chr(rand(75,90));
}
 
//image vide de taille 200,50
$image = imageCreate(170,35);
 
//on assigne la couleur de fond (blanc)
$backcolor = imageColorAllocate($image, 255, 255, 255);
//puis la couleur du texte
$txtcolor = imageColorAllocate($image, 255, 60, 0);
 
//on met les lettres dans l'image avec une inclinaison avec une taille aléatoire
for($i=1;$i<=$strlength;$i++)
{
 
$clockorcounter = rand(1,2);
if ($clockorcounter == 1)
{
$rotangle = rand(0,45);
}
if ($clockorcounter == 2)
{
$rotangle = rand(315,360);
}
 
//taile de la lettre entre 14 et 20, et 25 d'espacement entre les lettres
imagettftext($image,rand(14,20),$rotangle,($i*25),30,$txtcolor,"/arial.ttf",substr($codeImg,($i-1),1));
}
 
//en theorie on a fini, mais ce serrai trop facile pour les robots.
//Il faut rajouters des elypse ou autre signe pour que les lettres soient moins facilent trouvé
//
 
 
imageellipse($image,rand(1,170),rand(1,35),rand(50,90),rand(8,17),$txtcolor);
 
for($i=1; $i<=4;$i++)
{
imageline($image,rand(10,155),rand(5,28),rand(1,170),rand(1,35),$backcolor);
}
for($i=1;$i<=2;$i++){
	imageellipse($image,rand(1,170),rand(1,35),rand(50,90),rand(8,17),$backcolor);
}
for($i=1;$i<=2;$i++){
	imageline($image,rand(12,155),rand(1,35),rand(1,170),rand(1,35),$txtcolor);
}
//en envoie le header pour dire que notre fichier est une image
header('Content-type: image/png');
 
//et en renvoie notre image fabriqué au format png
imagePNG($image);
 
//on efface l'image de la memoire
imageDestroy($image);
//et la je retiens mon image en variable de session
$_SESSION['codeImg'] = $codeImg;
?>
Maintenant je fais comment pour récupérer codeImg dans un autre fichier php qui affiche l'image de façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<img src="image.php">
je demande parce que j'ai essayé tout ce que j'ai trouvé, et peut importe comment, si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo $_SESSION['codeImg'];
bah j'ai rien qui s'affiche

merci de votre aide ...