Hallo,
ich hab ein ganz simples captcha gebastelt, nur versteh ich nicht warum das ganze nicht klappt.
Also das Captcha an sich baue ich in der captcha.php Datei zusammen:
[CODE]<?php
session_start();
// Session Variable löschen
unset($_SESSION[‚captcha-wert‘]);
// 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 4 Zeichen aus dem gemischten Array
$text = array_slice($kombinationen, 0, 4);
// Speicherung in SESSION-Variable für spätere Auswertung
$_SESSION[‚captcha-wert‘] = $text;
Header („Content-type: image/png“);
// Laden der Bild - Datei
$bild = ImageCreateFromPNG („captcha_background.png“);
// Farben definieren
$farbe_w = ImageColorAllocate ($bild, 255, 255, 255);
$farbe_b = ImageColorAllocate ($bild, 0, 0, 0);
// Schriftgröße, Winkel, X-Pos., Y-Pos, Farbe, Schrift, Inhalt
ImageTTFText ($bild, 12, 0, 5, 20, $farbe_b, „/fonts/font.ttf“,
$text[0]);
ImageTTFText ($bild, 12, 0, 25, 20, $farbe_b, „/fonts/font.ttf“,
$text[1]);
ImageTTFText ($bild, 12, 0, 45, 20, $farbe_b, „/fonts/font.ttf“,
$text[2]);
ImageTTFText ($bild, 12, 0, 65, 20, $farbe_b, „/fonts/font.ttf“,
$text[3]);
// Ausgabe im Format PNG
ImagePng ($bild);
// Ressourcen wieder freigeben
ImageDestroy ($bild);
?>[/CODE]
Die Abfrage mache ich in einem anderem Formular captcha_test.php:
[CODE]<?php session_start();?>
Captcha:Eingabe:
<?php // Abfrage ob Captcha - Wert gleich if(isset($_POST["send"])) { if ($_POST['name'] == $_SESSION['captcha-wert']) { echo "Captcha Wert richtig"; } else { echo "Falscher Captcha Wert"; } } ?>[/CODE]
Eigentlich nichts besonderes. Trotzdem kommt im der If - Abfrage immer der else Zweig das der Code nicht identisch ist raus.
Warum nur?
Danke schon mal