Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mam problem przy tym kodzie
Forum PHP.pl > Forum > PHP
artgrus
Siema siema. Mam mały problemik przy poniższych kodach. Nie chce mi zadziałać.
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);
?>



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\"  />";

?>





Sprawdzenie poprawności: plik ver.php
Kod
<?

@session_start();

if ($_POST["Kod"] == $_SESSION["IMGVER_RndText"])  
{ print "ok"; }

else
{ print "sorry mama"; }

?>





Proszę pomóżcie.
Darti
Tak na pierwszy rzut oka:

  1. <?php
  2. echo "<form action=\"ver.php\" method=\"post\">
  3. <img src=\"img.php?_SESSION['SID']\" />
  4. <input name=\"Kod\" type=\"text\" id=\"Kod\" size=\"20\"  />";
  5. ?>


uwentualnie:

  1. <?php
  2. if ($_REQUEST["Kod"] == $_SESSION["IMGVER_RndText"])  
  3. { print "ok"; }
  4. ?>
rellend
Poza tym nie używaj zamiennie $HTTP_SESSION_VARS i $_SESSION, użyj tego drugiego.
artgrus
dzięki wielkie. Teraz działa. Nara. yahoo.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.