Hallo,
erste einmal die Codeteile:
functions.inc.php
Captcha.php
So, in der Gästebuch Datei wird das Verifizierungsbild wie folgt eingebunden:
Die Überprüfung des Codes erfolgt folgendermaßen:
Das ganze System funktioniert hervorrangend, zumindes mit FireFox
Sobald man den Internet-Explorer benutzt, funktioniert es nicht mehr. Ich hab eine eventuelle Fehlerquelle schon entdeckt. Und zwar, wird die SESSION captcha nicht definiert. Zumindest nicht wenn man den Internet-Explorer benutzt.
Weiß einer von euch, wie ich das Problem beheben kann?
Vielen Dank schonmal,
Greets Wanna
erste einmal die Codeteile:
functions.inc.php
Code:
function createCaptcha($width, $height)
{
mt_srand((double)microtime()*1000000);
$captcha = mt_rand(1000, 99999);
$captcha = md5($captcha);
$captcha = substr($captcha, 0, 5);
$captcha = strtoupper($captcha);
$_SESSION['captcha'] = $captcha;
$image = imagecreate($width, $height) or die("Can't initialize GD image stream");
$bg_color = imagecolorallocate($image, 255, 255, 255);
$line_color = imagecolorallocate($image, 150, 150, 150);
$elpise_color = imagecolorallocate($image, 200, 200, 200);
$elpise_color2 = imagecolorallocate($image, 235, 235, 235);
$text_color = imagecolorallocate($image, 0, 0, 0);
$rand_h1 = mt_rand(1, 40);
$rand_h2 = mt_rand(1, 40);
$rand_h3 = mt_rand(1, 40);
$rand_h4 = mt_rand(1, 40);
$rand_h5 = mt_rand(1, 40);
$rand_v1 = mt_rand(1, 100);
$rand_v2 = mt_rand(1, 100);
$rand_v3 = mt_rand(1, 100);
$rand_v4 = mt_rand(1, 100);
$rand_v5 = mt_rand(1, 100);
imageline($image, 0, $rand_h1, 100, $rand_h1, $line_color);
imageline($image, 0, $rand_h2, 100, $rand_h2, $line_color);
imageline($image, 0, $rand_h3, 100, $rand_h3, $line_color);
imageline($image, 0, $rand_h4, 100, $rand_h4, $line_color);
imageline($image, 0, $rand_h5, 100, $rand_h5, $line_color);
imageline($image, $rand_v1, 0, $rand_v1, 50, $line_color);
imageline($image, $rand_v2, 0, $rand_v2, 50, $line_color);
imageline($image, $rand_v3, 0, $rand_v3, 50, $line_color);
imageline($image, $rand_v4, 0, $rand_v4, 50, $line_color);
imageline($image, $rand_v5, 0, $rand_v5, 50, $line_color);
imagefilledellipse($image, mt_rand(0, 100), mt_rand(0, 40), mt_rand(10, 40), mt_rand(10, 25), $elpise_color);
imagefilledellipse($image, mt_rand(0, 100), mt_rand(0, 40), mt_rand(20, 40), mt_rand(10, 25), $elpise_color);
imagefilledellipse($image, mt_rand(0, 100), mt_rand(0, 50), mt_rand(20, 50), mt_rand(10, 35), $elpise_color2);
if (function_exists("Imagettftext")) {
Imagettftext ($image, 22, 0, 10, 30, $text_color, "".realpath("./images")."/fontf", $captcha);
} else {
imagestring($image, 5, 25, 12, $captcha, $text_color);
}
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
}
Captcha.php
Code:
include("functions.inc.php");
createCaptcha(100, 40);
So, in der Gästebuch Datei wird das Verifizierungsbild wie folgt eingebunden:
Code:
<img src="http://www.****.de/captcha.php" alt="Captcha" name="captcha" width="100" height="40" id="captcha" />
Die Überprüfung des Codes erfolgt folgendermaßen:
Code:
if($_SESSION['captcha'] !== $_POST['gbook_code'])
{
$error .= "<br>- Verifizierungscode nicht korrekt.<br>";
}
Das ganze System funktioniert hervorrangend, zumindes mit FireFox
Sobald man den Internet-Explorer benutzt, funktioniert es nicht mehr. Ich hab eine eventuelle Fehlerquelle schon entdeckt. Und zwar, wird die SESSION captcha nicht definiert. Zumindest nicht wenn man den Internet-Explorer benutzt.
Weiß einer von euch, wie ich das Problem beheben kann?
Vielen Dank schonmal,
Greets Wanna