Ich habe im Rahmen von php-kurs.com versucht, ein Captcha zu erstellen.
Dazu die Datei "bild.php", die das Bild erstellt und die Zeichen in einer $_SESSION speichern soll und eine andere Datei ("kurs.php"), die das Bild aufruft und zur Kontroller mit print_r mir die Zeichen anzeigen soll, doch werden mir immer die Zeichen vom letzten Captcha angezeigt, nicht vom aktuellen, finde aber den Fehler einfach nicht.
Hier der Code:
bild.php
kurs.php
Dazu die Datei "bild.php", die das Bild erstellt und die Zeichen in einer $_SESSION speichern soll und eine andere Datei ("kurs.php"), die das Bild aufruft und zur Kontroller mit print_r mir die Zeichen anzeigen soll, doch werden mir immer die Zeichen vom letzten Captcha angezeigt, nicht vom aktuellen, finde aber den Fehler einfach nicht.
Hier der Code:
bild.php
PHP-Code:
<?php
session_start ();
$text = range ( a, n);
shuffle ($text);
$kombination = array_slice ($text, 0, 5 );
$_SESSION['text'] = $kombination;
header("Content-type: image/png");
$bild = imagecreatefrompng ( "captcha-clock.png" );
$black = imagecolorallocate ( $bild, 0, 0, 0);
imagettftext ( $bild, 30, 0, 130, 70, $black, "Vera.ttf", $_SESSION['text'][0] );
imagettftext ( $bild, 30, 120, 230, 130, $black, "Vera.ttf", $_SESSION['text'][1] );
imagettftext ( $bild, 30, 240, 90, 160, $black, "Vera.ttf", $_SESSION['text'][1] );
imagepng ($bild);
imagedestroy ($bild);
?>
PHP-Code:
<?php session_start ();?>
<img src="bild.php" height="400" width="400" />
<?php
print_r($_SESSION);
?>
</body>
</html>
Kommentar