Hi,
habe folgende Schnipsel aus einem alten Thread geklaut.
jpeg.php
PHP
<?php
session_start();
$new_code2="";
$chars = "qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM1234567890";
for ($i=1; $i<7; $i++)
{
$code = $code.$chars[mt_rand (0,strlen($chars)-1)];
}
// echo "String:$code";
$_SESSION['new_code2'] = $code;
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Header("Content-type: image/jpeg");
$pic=ImageCreate(100,25); //(breite, höhe)
$col1=ImageColorAllocate($pic,255,255,255);
$col2=ImageColorAllocate($pic,138,138,138);
ImageFilledRectangle($pic, 0, 0, 100, 25, $col2);
ImageRectangle($pic, 1, 1, 98, 23, $col1);
for ($i = 0; $i < 6; $i++)
{
ImageString($pic, mt_rand(3, 5), (14*$i+10), mt_rand(3, 6), substr($code, $i, 1), $col1);
}
ImageJPEG($pic);
ImageDestroy($pic);
?>
Alles anzeigen
jpeg2.php
HTML
<?PHP
echo '[img]jpeg.php?'.$code.'[/img]';
if ($spam == "kontrolle"){
if($_POST['new_code'] != $_SESSION['new_code2']) {
die("Falscher Code!");
}
else {
echo "Code richtig!";
}
}
?>
<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Spamschutz</title>
</head>
<body>
<form action="jpeg2.php" method="post">
<input type="text" name="new_code">
<button type="submit" name="spam" value="kontrolle">Formprüfung</button>
</form>
<?PHP
session_start();
$data=session_encode();
echo "$data
";
?>
</body>
</html>
Alles anzeigen
Aus einem zufälligen String wird ein Bild erzeugt welcher zum Absenden des kontaktformulars überprüft werden soll.
Jetzt habe ich das problem, dass der eingegebene Code immer falsch ist. Weiter unten wird der String gezeigt (theoretisch!) der zu dem Bild passen müstte, zur Abfrage. Es wird aber immer der String des vorherigen bildes gezeigt.
Hat jemand eine Idee wo er Fehler liegt?
Grüße und gutes neues Jahr
Matthias