Tzn przy podaniu dobrego wygenerowanego obrazka wywala mi bląd sorry mama.
A przy podaniu złego tekstu też mi wywala bląd sorry mama.
Chociaż przy podaniu poprawnego tekstu z obrazka powinno być ok.
Dlaczego? Może pomożecie? Oto kod:
Wygenerowanie obrazka: plik img.php
Kod
<?
$IMGVER_IMAGE = imagecreate(110,40);
$IMGVER_COLOR_BLACK = imagecolorallocate ($IMGVER_IMAGE, 100, 100, 100);
$IMGVER_COLOR_WHITE = imagecolorallocate ($IMGVER_IMAGE, 255, 255, 255);
imagefill($IMGVER_IMAGE, 0, 0, $IMGVER_COLOR_BLACK);
@session_start();
$IMGVER_RandomText = $HTTP_SESSION_VARS["IMGVER_RndText"];
imagechar($IMGVER_IMAGE, 4, 20, 13, $IMGVER_RandomText[0] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 5, 40, 13, $IMGVER_RandomText[1] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 3, 60, 13, $IMGVER_RandomText[2] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 4, 80, 13, $IMGVER_RandomText[3] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 5, 100, 13, $IMGVER_RandomText[4] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 3, 120, 13, $IMGVER_RandomText[5] ,$IMGVER_COLOR_WHITE);
header("Content-type: image/jpeg");
imagejpeg($IMGVER_IMAGE);
?>
$IMGVER_IMAGE = imagecreate(110,40);
$IMGVER_COLOR_BLACK = imagecolorallocate ($IMGVER_IMAGE, 100, 100, 100);
$IMGVER_COLOR_WHITE = imagecolorallocate ($IMGVER_IMAGE, 255, 255, 255);
imagefill($IMGVER_IMAGE, 0, 0, $IMGVER_COLOR_BLACK);
@session_start();
$IMGVER_RandomText = $HTTP_SESSION_VARS["IMGVER_RndText"];
imagechar($IMGVER_IMAGE, 4, 20, 13, $IMGVER_RandomText[0] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 5, 40, 13, $IMGVER_RandomText[1] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 3, 60, 13, $IMGVER_RandomText[2] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 4, 80, 13, $IMGVER_RandomText[3] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 5, 100, 13, $IMGVER_RandomText[4] ,$IMGVER_COLOR_WHITE);
imagechar($IMGVER_IMAGE, 3, 120, 13, $IMGVER_RandomText[5] ,$IMGVER_COLOR_WHITE);
header("Content-type: image/jpeg");
imagejpeg($IMGVER_IMAGE);
?>
Formularz do autoryzacji: plik formularz.php
Kod
<?
@session_start();
$IMGVER_TempString="";
for ($i = 1; $i <= 4; $i++) {
$IMGVER_TempString .= GetRandomChar();
}
$HTTP_SESSION_VARS["IMGVER_RndText"] = $IMGVER_TempString;
function GetRandomChar() {
mt_srand((double)microtime()*1000000);
$IMGVER_RandVal = mt_rand(48, 57);
return chr($IMGVER_RandVal);
}
echo "<form action=\"ver.php\">
<img src=\"img.php?_SESSION['SID']\" />
<input name=\"Kod\" type=\"text\" id=\"Kod\" size=\"20\" />";
?>
@session_start();
$IMGVER_TempString="";
for ($i = 1; $i <= 4; $i++) {
$IMGVER_TempString .= GetRandomChar();
}
$HTTP_SESSION_VARS["IMGVER_RndText"] = $IMGVER_TempString;
function GetRandomChar() {
mt_srand((double)microtime()*1000000);
$IMGVER_RandVal = mt_rand(48, 57);
return chr($IMGVER_RandVal);
}
echo "<form action=\"ver.php\">
<img src=\"img.php?_SESSION['SID']\" />
<input name=\"Kod\" type=\"text\" id=\"Kod\" size=\"20\" />";
?>
Sprawdzenie poprawności: plik ver.php
Kod
<?
@session_start();
if ($_POST["Kod"] == $_SESSION["IMGVER_RndText"])
{ print "ok"; }
else
{ print "sorry mama"; }
?>
@session_start();
if ($_POST["Kod"] == $_SESSION["IMGVER_RndText"])
{ print "ok"; }
else
{ print "sorry mama"; }
?>
Proszę pomóżcie.