hallo,
ich habe ein problem und weiß leider nicht, wie ich es lösen kann bzw woran es liegt.
ich möchte für eine kommentarfunktion ein captcha einbauen und habe dafür von php-kurs.com das beispiel genommen. eine captcha.php erstellt mit folgendem inhalt:
PHP
<?php
session_start();
// alle moeglichen Zeichen ohne Problemfälle
$moegliche_zeichen = "A B C D E F G H J K M N Q R T U V W X Y 2 3 4 5 7 8";
// erstellen eines Arrays
$kombinationen = explode(" ", $moegliche_zeichen);
// mischen des Arrays
shuffle ( $kombinationen );
// die ersten 6 Zeichen aus dem gemischten Array
$text = array_slice($kombinationen, 0, 5);
// Speicherung in SESSION-Variable für spätere Auswertung
$_SESSION['captcha-wert'] = $text;
Header ("Content-type: image/png");
// Laden der Rohdatei, die sich im Verzeichnis befinden muss
$bild = ImageCreateFromPNG ("captcha-clock.png");
// Farben definieren
$farbe_w = ImageColorAllocate ($bild, 255, 255, 255);
$farbe_b = ImageColorAllocate ($bild, 0, 0, 0);
// die verwendete Schrift-Datei arial.ttf muss vorhanden sein
// Aufbau Schriftgröße, Winkel, X-Pos., Y-Pos, Farbe, Schrift, Inhalt
ImageTTFText ($bild, 32, -30, 140, 70, $farbe_b, "arial.ttf", $text[0]);
ImageTTFText ($bild, 32, -90, 180, 130, $farbe_b, "arial.ttf", $text[1]);
ImageTTFText ($bild, 32, 0, 130, 210, $farbe_b, "arial.ttf", $text[2]);
ImageTTFText ($bild, 32, 45, 80, 190, $farbe_b, "arial.ttf", $text[3]);
ImageTTFText ($bild, 32, 99, 80, 120, $farbe_b, "arial.ttf", $text[4]);
// Ausgabe im Format PNG
ImagePng ($bild);
// Ressourcen wieder freigeben
ImageDestroy ($bild);
?>
Alles anzeigen
das ganze wir dann beim kommentar eintragen aufgerufen:
und das ganze wir dann gesendet und mit der eingabe überprüft:
Code
if($_POST['captcha'] == $_SESSION['captcha-wert'])
{
//eintragen des kommentars
}
else
{
//fehler ausgeben
}
Alles anzeigen
leider funktioniert das nicht.
wenn ich mir $_POST['captcha'] ausgeben lasse, seh ich die eingegebenen zeichen. die ausgabe von $_SESSION['captcha-wert'] gab erst nichts aus und nachdem ich noch ein bisschen rumprobiert habe und den text nochmal von der seite kopiert habe gibt es nun "Array" aus.
woran kann das liegen? sieht wer einen fehler in dem code?