I keep getting an error that says "Warning: imagettfbbox() [function.imagettfbbox]: Could not find/open font in /home/a6079442/public_html/rebuild/includes/csi.php on line 48
Error in imagettfbbox function"
I am trying to include a captcha image in this form, and it just doesn't seem to be working. I've got csi.php included on FormToEmail.php
url: http://inferium.site11.com/rebuild/contactform.php
Here is my code for the form page:
Code: <?php
print_r($_POST);
session_start(); //check the captcha
if(!empty($_SESSION['sc'])&&$_SESSION['sc']==$_POST['sc']){unset($_SESSION['sc']); print 'captcha is right';} else {$valCheck=false;$appMessage='Sorry, you have provided an invalid security code';}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html class="embed firefox" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
want to advertise? contact us!
</title>
<!-- Meta Tags -->
<meta name="robots" content="noindex, nofollow, noarchive">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- CSS -->
<link rel="stylesheet" href="contactform/dynamic.css" type="text/css">
<link rel="stylesheet" href="contactform/theme.css" type="text/css">
<link rel="stylesheet" href="contactform/wufoo.css" type="text/css">
<!-- JavaScript -->
<script type="text/javascript" src="contactform/dynamic.js"></script>
</head><body id="public">
<div id="container">
<form class="wufoo topLabel page1" autocomplete="off" enctype="multipart/form-data" method="post" action="FormToEmail.php">
<div class="info">
<h2>want to advertise? contact us!</h2>
<div></div>
</div>
<ul>
<li id="fo1li108" class=" ">
<label class="desc" id="title108" for="Field108">
your name:
</label>
<div>
<input id="name" name="name" class="field text medium" maxlength="255" tabindex="1" type="text">
</div>
</li>
<li id="fo1li6" class=" ">
<label class="desc" id="title6" for="Field6">
your email:
</label>
<div>
<input id="email" name="email" class="field text large" maxlength="255" tabindex="2" type="text">
</div>
<p class="instruct" id="instruct6"><small>We won't share this with strangers.</small></p>
</li>
<li id="fo1li112" class=" ">
<label class="desc" id="title112" for="Field112">
your phone:
</label>
<div>
<input id="phone" name="phone" class="field text medium" maxlength="255" tabindex="3" type="text">
</div>
</li>
<li id="fo1li109" class=" ">
<label class="desc" id="title109" for="Field109">
name of your mgmt:
</label>
<div>
<input id="management" name="management" class="field text medium" maxlength="255" tabindex="4" type="text">
</div>
</li>
<li id="fo1li110" class=" ">
<label class="desc" id="title110" for="Field110">
cities your properties are located in:
</label>
<div>
<input id="property_locations" name="property_locations" class="field text medium" maxlength="255" tabindex="5" type="text">
</div>
</li>
<li id="fo1li1" class=" ">
<label class="desc" id="title1" for="Field1">
specific questions or needs:
<span id="req_1" class="req">*</span>
</label>
<div>
<textarea id="questions" name="questions" style="border:0px;background-color:#FFFFFF;" rows="2" cols="50" tabindex="6"></textarea>
</div>
<p class="instruct" id="instruct1"><small>This field is required.</small></p>
</li>
<li class=" ">
<img src="includes/csi.php?w=100&h=40&chr=5" alt="" />
<label class="desc">
please enter the code from above:
</label>
<input type="text" name="sc" id="sc" style="border:0px;background-color:#FFFFFF;" maxlength="255" />
</li>
<li class="buttons">
<input name="currentPage" id="currentPage" value="GI0jR8qooTIIfP2hij1KYssRL4qyfwuBe5cnwuBewqGlzjUSE=" type="hidden">
<input id="saveForm" name="saveForm" class="btTxt submit" value="submit your inquiry" type="submit">
</li>
<li style="display: none;">
<label for="comment">Do Not Fill This Out</label>
<textarea name="comment" id="comment" rows="1" cols="1"></textarea>
<input id="idstamp" name="idstamp" value="VuXFID/UrijtCYffVp7xRB3O98Q+v/DvyIxYt88ZyXM=" type="hidden">
</li>
</ul>
</form>
</div><!--container-->
<img id="bottom" src="contactform/bottom.png" alt="">
<script type="text/javascript">
__EMBEDKEY = "false"
</script></body></html>
Also, here is the code to csi.php:
Code:<?php
session_start();
class csi
{
public $font = 'mf.ttf';
public function generateCode($characters)
{
/* list all possible characters, similar looking characters and vowels have been removed */
$possible = '23456789bcdfghjkmnpqrstvwxyz';
$code = '';
$i = 0;
while ($i < $characters)
{
$code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
$i++;
}
return $code;
}
public function csi($width='120',$height='40',$characters='6')
{
$code = $this->generateCode($characters);
/* font size will be 75% of the image height */
$font_size = $height * 0.75;
$image = @imagecreate($width, $height) or die('Cannot initialize new GD image stream');
/* set the colours */
$background_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 20, 40, 100);
$noise_color = imagecolorallocate($image, 100, 120, 180);
/* generate random dots in background */
for( $i=0; $i<($width*$height)/3; $i++ )
{
imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
}
/* generate random lines in background */
for( $i=0; $i<($width*$height)/150; $i++ )
{
imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
}
/* create textbox and add text */
$textbox = imagettfbbox($font_size, 0, $this->font, $code) or die('Error in imagettfbbox function');
$x = ($width - $textbox[4])/2;
$y = ($height - $textbox[5])/2;
imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font, $code) or die('Error in imagettftext function');
/* output captcha image to browser */
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
$_SESSION['sc'] = $code;
}
}
$width = isset($_GET['w']) ? $_GET['w'] : '120';
$height = isset($_GET['h']) ? $_GET['h'] : '40';
$characters = isset($_GET['chr']) && $_GET['chr'] > 1 ? $_GET['chr'] : '6';
$captcha = new csi($width,$height,$characters);
?>
Any help with this would be much appreciated
is this the proper use of mysql_real_escape_string() to prevent sql injections?
i was wondering is this the proper use of mysql_real_escape_string() to prevent sql injections? any help greatly appreciated. thanks. derekCode:
Help =( !! Upload Pics [PHP script]
HelloI need help with a php script [MULTIPLE UPLOAD IMAGES] , where I want to add a feature (watermark the uploaded pictures) , thats mean its watermark & upload in the same time . look this
Developing Ajax-enabled ASP.Net applications for the iPhone
I would like to develop Ajax web applications using Visual Studio that are optimized for the iPhone. There are a few resources on the web showing how this can be done. However, these tend to be
How to extract/download content from HTTPS page?
Hello to all the Members of this forum, Im Shoiab, A novice programmer in php.. for my first job I have been recently assigned a project, in which I have got to extract/download the contents of the
asp authentication problem
Hello all,
Probably Easy, Need help with Check Boxes in PHP Code
hello,Thanks for looking this over and helping me out. My problem is I have a online store locator database and whats happening is I keep getting an "array" message when I look at the store.
Appending GET data with form submition
Okay, what I'm trying to do is to use a form to append an already existing GET data string.It goes something like this:REQUEST_URI="/page.php?var1=foo&var2=bar"Now, what I want to do
Help please - How to validate from 2 possible answers
Hi I hope somebody can help me with what will probably be really simple, I'm pulling my hair trying to get my head round it.I've got a contact form and I would like to add to it a couple of simple
How to have a log of all the status a VIM document had been ?
Hi guys,
Extract specific information from a PHP Multidimensional Array
Howdy! I've racked my brain over this for 24 hours now. I think it's time I asked for help. I'm learning PHP and believe my I've manipulated many code blocks trying to get this to work with for and