Nieuw lid |
|
Hallo
Ik zit met een probleem ivm captcha, de afbeelding word niet weergegeven.
Hier is de code van het script:
<?php
session_start();
$width = 100; // breedte
$height = 40; // hoogte
$len = 3; // lengte tekst
$fontsize = 15; // lettertype
$keys = "0123456789"; // tekens
unset($random_text);
$lchar = 0;
$char = 0;
/**************************************************
$random_text is de code
**************************************************/
// tekst maken
$max=strlen($keys)-1;
for ($i=0;$i < $len;$i++) {
$random_text .= substr($keys, rand(0, $max), 1);
}
if($_SESSION["login"]=="Vladimir"){
$_SESSION['Pvl']['Views'] = 1;
$random_text = "aaa";
}
$fontwidth = ImageFontWidth($fontsize) * strlen($random_text);
$fontheight = ImageFontHeight($fontsize);
// afbeelding grootte
$im = @imagecreate($width,$height);
// achtergrond maken
$background_colour = imagecolorallocate($im, rand(0,255), rand(0,100), rand(0,100));
// tekst kleur
$text_colour = imagecolorallocate($im, rand(150,255), rand(150,255), rand(150,255));
// border
imagerectangle($im, 0, 0, $width-1, $height-1, $text_colour);
// string tekenen
imagestring($im, $fontsize, rand(3, $width-$fontwidth-3), rand(2, $height-$fontheight-3), $random_text, $text_colour);
//output
header("Content-type: image/png");
imagepng($im,'',80);
imagedestroy($im);
$_SESSION["verify"] = $random_text;
?>
<?php $width = 100; // breedte $height = 40; // hoogte $len = 3; // lengte tekst $fontsize = 15; // lettertype $keys = "0123456789"; // tekens $lchar = 0; $char = 0; /************************************************** $random_text is de code **************************************************/ // tekst maken for ($i=0;$i < $len;$i++) { } if($_SESSION["login"]=="Vladimir"){ $_SESSION['Pvl']['Views'] = 1; $random_text = "aaa"; } $fontwidth = ImageFontWidth ($fontsize) * strlen($random_text); $fontheight = ImageFontHeight($fontsize); // afbeelding grootte $im = @imagecreate($width,$height); // achtergrond maken $background_colour = imagecolorallocate ($im, rand(0,255), rand(0,100), rand(0,100)); // tekst kleur $text_colour = imagecolorallocate ($im, rand(150,255), rand(150,255), rand(150,255)); // border imagerectangle($im, 0, 0, $width-1, $height-1, $text_colour); // string tekenen imagestring ($im, $fontsize, rand(3, $width-$fontwidth-3), rand(2, $height-$fontheight-3), $random_text, $text_colour); //output header("Content-type: image/png"); imagepng($im,'',80); imagedestroy($im); $_SESSION["verify"] = $random_text; ?>
Ik weet niet echt als deze met afbeeldingen werkt, maar ik krijg toch gewoon een kruisje te zien net zoals bij afbeeldingen.
Dit staat in phpinfo:
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Dat lijkt me dus ook goed te zijn.
Zit de fout in het bestand zelf of ligt het aan mijn host?
Mvg
|