Noch nicht viel geschrieben
Hallo Zusammen
Ich habe mir eine Captcha Ausgabe mithilfe von google geschrieben.
Da ich mit Coda (Mac) programmiere, gibt es eine Vorschau, wo Coda das Sript überprüft. Da bekomme ich die Fehlermelung "Notice: Undefined variable: Captcha_Random_Code in /- on line 61 Captcha Code konnte nicht generiert werden!"
Hier ist das erste Problem. Ich weiss nicht wo ein Fehler sein soll.
Das zweite Problem das ich habe: Wenn ich jetzt das Script auf meinen Webserver lade und das Script ausführe, dann bekomme ich immer die folgende Fehlermeldung: "Die Grafik "http://domain.com/captcha/captcha.php5" kann nicht angezeigt werden, weil sie Fehler enthält." (in Firefox). Auch hier bin ich ratlos. Ich habe schon gegooglet, habe aber nichts gefunden, was abhilfe bei diesem Problem schafft.
Habe auch schon das Script nochmals "sauber" geschrieben, aber das Problem besteht weiter hin. Auch gibt mir PHP auf dem Webserver keine "richtige" Fehlermeldung zurück (error_reporting (E_ALL).
Hat von euch jemand schonmal diese Problem gehabt?
Danke schonmal im Voraus für eure Hilfe.
Hier noch mein Captcha Script:
Ich habe mir eine Captcha Ausgabe mithilfe von google geschrieben.
Da ich mit Coda (Mac) programmiere, gibt es eine Vorschau, wo Coda das Sript überprüft. Da bekomme ich die Fehlermelung "Notice: Undefined variable: Captcha_Random_Code in /- on line 61 Captcha Code konnte nicht generiert werden!"
Hier ist das erste Problem. Ich weiss nicht wo ein Fehler sein soll.
Das zweite Problem das ich habe: Wenn ich jetzt das Script auf meinen Webserver lade und das Script ausführe, dann bekomme ich immer die folgende Fehlermeldung: "Die Grafik "http://domain.com/captcha/captcha.php5" kann nicht angezeigt werden, weil sie Fehler enthält." (in Firefox). Auch hier bin ich ratlos. Ich habe schon gegooglet, habe aber nichts gefunden, was abhilfe bei diesem Problem schafft.
Habe auch schon das Script nochmals "sauber" geschrieben, aber das Problem besteht weiter hin. Auch gibt mir PHP auf dem Webserver keine "richtige" Fehlermeldung zurück (error_reporting (E_ALL).
Hat von euch jemand schonmal diese Problem gehabt?
Danke schonmal im Voraus für eure Hilfe.
Hier noch mein Captcha Script:
PHP:
<?php
// Fehlermeldung erzwingen und Ausgeben
error_reporting (E_ALL);
// Session starten
session_start();
// Alten CAPTCHA-Code aus der Session loeschen
unset($_SESSION['Captcha_Code']);
// Das Cachen der Grafik verhindern
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified:" .gmdate("D, d M Y H:i:s") ."GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Dem Browser mitteilen, dass es hier um ein PNG handelt
header("Content-type: image/png");
//---------- Optionen ---------- //
// Schriftgroesse festlegen (Hier kann editiert werden)
$FontSize = 12;
// Schriftarten (Hier kann editiert werden --> Ordnerpfad+Schriftart)
$Font = 'captcha_files/font.ttf';
// Texthoehe (Hier kann editiert werden)
$TextHeight = 45;
// Welleneffekt (Hier kann editiert werden)
// Welleneffekt nutzten? ->1=nein ->2=ja
$WaveEffect = 1;
// Hintergrundbilder (Hier kann editiert werden --> Ordnerpfad+Bild)
$bg1 = 'captcha_files/background1.png';
$bg2 = 'captcha_files/background2.png';
//---------- Funktion (Hier nicht editieren) ----------//
// Captcha Code generieren
function Captcha_Random_Code()
{
mt_srand ((double) microtime()*1000000);
$AlphaNumericString = '23456789ABCDEFGHJKLMNOPQRSTUVWXYZ';
$length = 6;
$length_string = strlen($AlphaNumericString)-1;
$Captcha_Temp_Code = '';
for ($i=0; $i<$length; $i++)
{
$Captcha_Temp_Code .= $AlphaNumericString {mt_rand(0, $length_string)};
}
return $Captcha_Temp_Code;
}
// Captcha Code in der Session speichern
$_SESSION['Captcha_Code'] = Captcha_Random_Code(6); // Captcha_Random_Code(6) = Zahl --> Anzahl Stellen
// Captcha_Random_Code definieren
$_SESSION['Captcha_Code'] = $Captcha_Random_Code;
// Ueberpruefen, ob Captcha Code generiert wurde
if (isset($Captcha_Random_Code))
{
$_SESSION['Captcha_Code'] = Captcha_Random_Code(6);
}
else
{
die('Captcha Code konnte nicht generiert werden!');
}
// Zufallshintergrund
mt_srand((double) microtime()*1000000);
$Image1 = mt_rand (1, 2);
switch ($Image1)
{
case 1:
$Graphic = imagecreatefrompng ($bg1);
$Graphichelp = imagecreatefrompng ($bg1);
break 1;
case 2:
$Graphic = imagecreatefrompng ($bg2);
$Graphichelp = imagecreatefrompng ($bg2);
break 1;
}
// Textfarbe
$textcolor = array(
imagecolorallocate ($Graphic, 128, 128, 128), // ($Graphic, Zahlen) Zahlen --> RGB Code
imagecolorallocate ($Graphic, 0, 0, 0),
imagecolorallocate ($Graphic, 50, 150, 0),
imagecolorallocate ($Graphic, 128, 0, 128),
imagecolorallocate ($Graphic, 128, 128, 255),
imagecolorallocate ($Graphic, 255, 100, 0),
imagecolorallocate ($Graphic, 200, 128, 0),
imagecolorallocate ($Graphic, 250, 100, 150),
imagecolorallocate ($Graphic, 120, 150, 200),
imagecolorallocate ($Graphic, 120, 140, 180)
);
// Text auf den Hintergrund schreiben
imagettftext ($Graphic, $FontSize, mt_rand (-13, 13), 10, $TextHeight+mt_rand (-7, 8), $TextColor1 = $textcolor[array_rand($textcolor)], $Font, $Captcha_Random_Code[0]);
imagettftext ($Graphic, $FontSize, mt_rand (-13, 13), 45, $TextHeight+mt_rand (-7, 8), $TextColor2 = $textcolor[array_rand($textcolor)], $Font, $Captcha_Random_Code[1]);
imagettftext ($Graphic, $FontSize, mt_rand (-13, 13), 80, $TextHeight+mt_rand (-7, 8), $TextColor3 = $textcolor[array_rand($textcolor)], $Font, $Captcha_Random_Code[2]);
imagettftext ($Graphic, $FontSize, mt_rand (-13, 13), 115, $TextHeight+mt_rand (-7, 8), $TextColor4 = $textcolor[array_rand($textcolor)], $Font, $Captcha_Random_Code[3]);
imagettftext ($Graphic, $FontSize, mt_rand (-13, 13), 150, $TextHeight+mt_rand (-7, 8), $TextColor5 = $textcolor[array_rand($textcolor)], $Font, $Captcha_Random_Code[4]);
imagettftext ($Graphic, $FontSize, mt_rand (-13, 13), 190, $TextHeight+mt_rand (-7, 8), $TextColor6 = $textcolor[array_rand($textcolor)], $Font, $Captcha_Random_Code[5]);
?>