ugrás a tartalomhoz

$_SESSION és Captcha

Tanul0 · 2010. Már. 2. (K), 16.18
Üdvözletem!

Akadt egy kis problémám.

Adott egy captcha.php Nem én írtam, de átalakítottam.


function random_string($len=5, $str='')
  {
	for($i=1; $i<=$len; $i++)
        {


	 $ord=rand(48, 90);
	 if((($ord >= 48) && ($ord <= 57)) || (($ord >= 65) && ($ord<= 90)))
	$str.=chr($ord);


	else
		$str.=random_string(1);
	}
	return $str;

}

$rand_str=random_string(5);


$_SESSION['captcha']=md5($rand_str);



$letter1=substr($rand_str,0,1);
$letter2=substr($rand_str,1,1);
$letter3=substr($rand_str,2,1);
$letter4=substr($rand_str,3,1);
$letter5=substr($rand_str,4,1);


$image=imagecreatefrompng("img/noise01.png");


$angle1 = rand(-20, 30);
$angle2 = rand(-30, 20);
$angle3 = rand(-20, 30);
$angle4 = rand(-30, 20);
$angle5 = rand(-20, 30);


$font1 = "./snipershot.ttf";
$font2 = "./snipershot.ttf";
$font3 = "./snipershot.ttf";
$font4 = "./snipershot.ttf";
$font5 = "./snipershot.ttf";


$colors[0]=array(122,229,112);
$colors[1]=array(85,178,85);
$colors[2]=array(226,108,97);
$colors[3]=array(141,214,210);
$colors[4]=array(214,141,205);
$colors[5]=array(100,138,204);


$color1=rand(0, 5);
$color2=rand(0, 5);
$color3=rand(0, 5);
$color4=rand(0, 5);
$color5=rand(0, 5);


$textColor1 = imagecolorallocate ($image, $colors[$color1][0],$colors[$color1][1], $colors[$color1][2]);
$textColor2 = imagecolorallocate ($image, $colors[$color2][0],$colors[$color2][1], $colors[$color2][2]);
$textColor3 = imagecolorallocate ($image, $colors[$color3][0],$colors[$color3][1], $colors[$color3][2]);
$textColor4 = imagecolorallocate ($image, $colors[$color4][0],$colors[$color4][1], $colors[$color4][2]);
$textColor5 = imagecolorallocate ($image, $colors[$color5][0],$colors[$color5][1], $colors[$color5][2]);

$size = 35;
$size2 = rand(15, 30);

imagettftext($image, $size, $angle1, 10, $size+$size2, $textColor1, $font1, $letter1);
imagettftext($image, $size, $angle2, 50, $size+$size2, $textColor2, $font2, $letter2);
imagettftext($image, $size, $angle3, 110, $size+$size2, $textColor3, $font3, $letter3);
imagettftext($image, $size, $angle4, 140, $size+$size2, $textColor4, $font4, $letter4);
imagettftext($image, $size, $angle5, 190, $size+$size2, $textColor5, $font5, $letter5);

header('Content-type: image/jpeg');

imagejpeg($image);

imagedestroy($image);

session elindítva az index.php-ban

reg.php-ban azonban nem találja a $_SESSION['captcha'] , a reg.php be van ágyazva az index.php-ba.

a captcha.php-t egy html templateben hívom meg <img src="captcha.php" alt="Kod" /> a templatet meg a reg.php-ban

eval ("\$reg_template = \"".html_template("register")."\";");
echo $reg_template;
Mi lehet a probléma?
 
1

Bocsánat! Megvan mi volt a

Tanul0 · 2010. Már. 2. (K), 17.10
Bocsánat! Megvan mi volt a hiba. A captcha.php-ban is el kell indítani a sessiont méghozzá ugyan olyna néven mint az index.php-ban.

Túl gyorsan pánikoltam