captcha

sziasztok!

eppen egy captchan dolgozom, de valami gond van. nezzetek meg ->
img.php


<?php
//$post = $_POST['captcha'];
//$random = rand(100000, 999999);
$char_set = "ABCDEFGHJKLMNOPQRSTUVWXYZ";
$char_set .= "abcdefghijkmnopqrstuvwxyz";
$char_set .= "0123456789";
function create_randcode( $length ){
global $char_set;
$rnd_text = "";

srand(time());

for($i = 0; $i< $length; $i++){
	$rnd_text .= substr($char_set,(rand()%(strlen($char_set))), 1);
}
return $rnd_text;
}

$veletlenkod = create_randcode( 10 );

session_start();
$_SESSION['lofasz'] = $veletlenkod;
//print $_SESSION['0'];
	



header("Content-type: image/png");
$im = @imagecreate(500, 500)

    or die("Nem sikerult a GD modullal valo egyutmukodes!");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 4, 5, 5,  $veletlenkod, $text_color);
imagepng($im);
imagedestroy($im);
?>

capc.php


<?php
echo '<img src="capctha.php" />';
//session_start();
print $_SESSION['0'];
$post = $_POST['captcha'];
if(isset($post)) {
	if( $_POST['captcha'] == $_SESSION['lofasz']) {
		print "A captchat sikeresen megfejtetted!";
		}
	else {
		print "Elrontottad a captchat, kerlek probald ujra!";
		}
	}
//session_unset();
print $_SESSION['lofasz'];

echo '


<form name="captcha" action="capc.php" method="POST">
<input name="captcha" type="text">
<input name="ok" type="submit" value="okezsoke!"></form>';
?>

Valamiert a capc.php nem kapja meg az img.php altal a sessiont :|

Hozzászólások

Lehet, hogy én tudom rosszul, de mintha a session_start()-ot az állomány (leg)elején kéne elhelyezni, nem pedig a kód kellős közepén...

Most már nincs időm bővebben elemezni a forrásodat, hátha ez amit írtam elég lesz.

Hülyeséget mondtam, bocsánat... a header előtt van, így jónak kellene lennie, mea culpa!
--
http://blog.zsoc.net | http://trustno1.hu | http://www.runatabor.com
Ez is csak egy nap, nem a világ vége...