Hello,

 

I was hoping to get in touch with someone on a situation that I cannot find
the solution to anywhere. 

 

I am trying to create a captcha on my website using php and although I was
able to create an image shown here

https://www.gcus.com/deletemeafter/captcha/security_image.php

 

and create the random captcha text here:

https://www.gcus.com/deletemeafter/captcha/testerPHP.php

 

I am unable to over lay the two. Here is my code:

 

 

<?PHP

 

session_start();

 

 

function generateRandomString($length = 10) {

    $letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

    $len = strlen($letters);

    $letter = $letters[rand(0, $len - 1)];

    $text_color = imagecolorallocate($image, 0, 0, 0);

    $word = "";

    for ($i = 0; $i < 6; $i++) {

        $letter = $letters[rand(0, $len - 1)];

        imagestring($image, 7, 5 + ($i * 30), 20, $letter, $text_color);

        $word .= $letter;

    }

    $_SESSION['captcha_string'] = $word;

 

}

 

 

function security_image(){

 

   // $code = isset($_SESSION['captcha']) ? $_SESSION['captcha'] :
generate_code();

    //$font = 'content/fonts/comic.ttf';

 

    $width = '110';

    $height = '20';

    $font_size = $height * 0.75;

   // $image = @imagecreate($width, $height) or die('GD not installed');

               global $image;

    $image = imagecreatetruecolor($width, $height) or die("Cannot Initialize
new GD image stream");

 

               $background_color = imagecolorallocate($image, 255, 255,
255);  

               imagefilledrectangle($image,0,0,200,50,$background_color);

               

               

               $line_color = imagecolorallocate($image, 64,64,64); 

               for($i=0;$i<10;$i++) {

    imageline($image,0,rand()%50,200,rand()%50,$line_color);

               }

               

               $pixel_color = imagecolorallocate($image, 0,0,255);

               for($i=0;$i<1000;$i++) {

 
imagesetpixel($image,rand()%200,rand()%50,$pixel_color);

               }

    

               //$textbox = imagettfbbox($font_size, 0, $font, $code);

               //$textbox = imagettfbbox($font_size, 0, $randomString);

               

    $x = ($width - $textbox[4]) / 2;

    $y = ($height - $textbox[5]) / 2;

   // imagettftext($image, $font_size, 0, $x, $y, $text_color, $font ,
$code);

    //imagettftext($image, $font_size, 0, $x, $y, $text_color , $word);

 

 

    $images = glob("*.png");

    foreach ($images as $image_to_delete) {

        @unlink($image_to_delete);

    }

    imagepng($image, "image" . $_SESSION['count'] . ".png");

 

    header('Content-Type: image/png');

    imagepng($image);

    imagedestroy($image);

 

}

 

security_image();

 

 

 

 

?>

 

 

I have no idea what I'm doing wrong. I've spent over 10 hours on this
"display text" issue. I don't understand and I am desperate for help. I even
downloaded working captcha version from other resources that break once I
upload it to my server. I have no idea whats going on. At first I thought
there was something wrong with my server but the fact that I can even create
the pixels, lines image means that it is at least working. 

 

Please help!!!! :(

 

 

Thank you,


D a v i d   S u m m e r s      

IT Manager 

Gulfcoast Ultrasound Institute

4615 Gulf Blvd. Suite 201

St. Pete Beach, FL 33706

Local: 727.363.4500

Toll Free: 1.800.619.1900

Fax: 727.363.0811

www.gcus.com <http://www.gcus.com/> 

 

Reply via email to