Ulf: es gibt da eine Möglichkeit

Beitrag lesen

Hi Raik!

ist kein schöner code, also nicht meckern: ;-)

<?

(...)

?>

genau so und nicht anders hätte ich das auch programmiert, wenns ichs gewusst hätte. Super! Vielen Dank dafür!
Da kann ich mir echt was abgucken.
Auf der Arbeit werde ich extrem viel gelobt für meine Programme, ich finde meine Scripte aber teilweise misserabel :-)

Wollen wir noch die komplett lösung fürs Archiv Probieren?:

3 Scripte:

index.php:
<FORM METHOD="POST" ACTION="action.php">
<TABLE>
<TR>
 <TD>Username</TD>
 <TD><INPUT TYPE="text" NAME="usr"></TD>
</TR>
<TR>
 <TD>Ect</TD>
 <TD><INPUT TYPE="text" NAME="ect"></TD>
</TR>
<TR>
 <TD>Sicherheits-Code</TD>
 <TD><INPUT TYPE="text" NAME="sc"></TD>
</TR>
<TR>
 <TD></TD>
 <TD><INPUT TYPE="submit"></TD>
</TR>
</TABLE>
</FORM>
Bitte tragen Sie in das Feld "Sicherheits-Code" die Zahlen- und Buchstaben-Kombination die auf dem Grauen Bild zu sehen sind.<br>
<IMG SRC="bild.php" BORDER="0" ALT="Sicherheits-Code">
--

action.php:
<?php
SESSION_START();
$secure=$_SESSION['secure'];

if($usr=='')$stop=true;
if($ect=='')$stop=true;
if($sc!=$secure)$stop=true;

if($stop!=true)
{
 $qry = "INSERT INTO usrtbl (usr, ect) VALUES('$usr', '$ect')";
 print $qry; // :-)
}
else
{
 print "na stimmt was nicht :-o";
}
?>
--

bild.php:
<?
SESSION_START();

Textposition

$tx     = 9;
$ty     = 7;

Dimension

$MaxX   = 70;
$MaxY   = 30;

Bild erstellen

header("Content-type: image/png");
$im = @imagecreate($MaxX,$MaxY);

Farben definieren

$white = @ImageColorAllocate($im, 255,255,255);
$red = @ImageColorAllocate($im, 255,0,0);
$green = @ImageColorAllocate($im, 0,255,0);
$gray = @ImageColorAllocate($im, 128,128,128);
$lightgray = @ImageColorAllocate($im, 224,224,224);
$lightblue = @ImageColorAllocate($im, 128,128,255);

@ImageColorTransparent($im, $white); # weiß = transparent

$tcol = explode(",",$tcolor);
$text_color = @ImageColorAllocate($im, $tcol[0], $tcol[1], $tcol[2]);
$bcol = explode(",",$bcolor);
$border_color = @ImageColorAllocate($im, $bcol[0], $bcol[1], $bcol[2]);

$strng='';
for ($i=1; $i<=6;) # Anzahl der Zeichen
{
mt_srand((double)microtime()*1000000);
$char = mt_rand(48,122);

if($char>47 && $char<58 || $char>64 && $char<91 || $char>96 && $char<123)
 {
 $strng.=chr($char);
 $i++;
 }
}

$_SESSION['secure']=$strng;

@imagefill($im, 0, 0, $lightgray);

Rahmen und Logo setzen

@imagerectangle($im, 0, 0, $MaxX-1, $MaxY-1, $border_color);
@imagestring($im, 5, $tx, $ty, $strng, $text_color);
@imagepng($im);
?>

Hast du das so gemeint?

MfG Ulf