Fórumok
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 :|
- 1180 megtekintés
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...
- A hozzászóláshoz be kell jelentkezni
igen, ez sem segit!
- A hozzászóláshoz be kell jelentkezni
megoldva, csak ob_start(), es ob_end_flus() kellett.
- A hozzászóláshoz be kell jelentkezni
egyu_tt_mukodes
t
- A hozzászóláshoz be kell jelentkezni
;P
- A hozzászóláshoz be kell jelentkezni
haha lol
- A hozzászóláshoz be kell jelentkezni