Thema: Captcha Problem
-
Hallo Leute!
Ich brauch mal wieder eure Hilfe. Dieses mal geht es um ein Captcha...
image.php --> hier wird das Captcha erzeugt und die Session Variable erzeugt
Die image.php wird dann in das Formular eingebundenPHP-Code:<?php
session_start();
unset($_SESSION['captcha']);
$text = rand(1000,10000); //Zufallszahl
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$_SESSION['captcha'] = encrypt($text, "8h384ls94"); //Key
$_SESSION['captcha'] = str_replace("=", "", $_SESSION['captcha']);
header('Content-type: image/png');
$img = ImageCreateFromPNG('image.png'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = $_SERVER['Document_Root']."/arialf"; //Schriftart
$ttfsize = 25; //Schriftgrösse
$angle = rand(0,5);
$t_x = rand(5,50);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
test.php
und via Enter wird man auf die check.php weitergeleitet:PHP-Code:<form action="check.php" method="GET" enctype="text/plain">
<img src="image.php" />
<input type="text" name="code" />
</form>
So, ich hab jetzt das Problem mit der Session!PHP-Code:<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$eingabe = encrypt($_REQUEST["code"], "8h384ls94");
$eingabe = str_replace("=", "", $eingabe);
//nur für mich relevant damit ich sehe ob die Variablen leer sind oder nicht...
echo "Eingabe: ".$eingabe."<br>";
echo "Catcha: ".$_SESSION['captcha']."<br>";
if($eingabe == $_SESSION['captcha']){
unset($_SESSION['captcha']);
echo "richtig!";
}
else {
echo "falsch!";
}
?>
Wenn die test.php aufgerufen wird (wo eigentlich durch die image.php eine Session Variabel erzeugt werden sollte) passiert das genau NICHT - erst wenn ich die image.php separat aufrufe und dann die Zahlenkombi eingeb funktionierts auch ... WARUM?
Danke ... ihr seid Spitze!
lg Michael
-
Hallo.
- Mach mal aus $_SERVER["Document_Root"] folgendes: PHP-Code:
$_SERVER["DOCUMENT_ROOT"]
- Mach mal aus $eingabe folgendes: PHP-Code:
$_POST["eingabe"]
- Übergib der image.php die Variable PHPSESSID mit der aktuellen Session-ID: HTML-Code:
<img src="image.php?PHPSESSID=<?php echo session_id(); ?>" alt="" title="" />
- Mach mal aus $_SERVER["Document_Root"] folgendes:
-
![]() |
PHP 5 / MySQL 5 Seminar (22 Stunden Video-Training) Preis: früher: 39,95€ - jetzt nur: 7,99€ PHP 5 / MySQL 5 Lernkurs – 22 Stunden Video-Training auf DVD Hier geht es zum Angebot Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar! |
Ähnliche Themen
-
Problem mit Captcha-Grafiken erstellen
Von xtratz im Forum PHPAntworten: 0Letzter Beitrag: 23.05.07, 13:19 -
CAPTCHA Problem
Von Nepheus im Forum PHPAntworten: 7Letzter Beitrag: 31.03.07, 15:29 -
captcha problem
Von croqued-monsieur im Forum PHPAntworten: 4Letzter Beitrag: 14.06.06, 10:30 -
Captcha Problem (einbinden)
Von Benard im Forum PHPAntworten: 6Letzter Beitrag: 22.05.06, 12:41 -
Captcha: Verschleierung
Von mistertwisters im Forum PHPAntworten: 5Letzter Beitrag: 07.05.06, 14:17



Zitieren
funktioniert - lag an der session_id() 
Login





Lesezeichen