EMAIL.PHP :
Código PHP:
<?php
session_start();
if(isset($_POST["Code"])) {
if(($_SESSION['captcha_code'] == $_POST['Code']) && (!empty($_SESSION['captcha_code'])) ) {
//Passed!
$captcha_msg="Thank you";
$admin= '[email protected]'; //
$subject= 'Titulo de Subject';
$message= 'Message to '.$admin.' from '.$email.":\n\n";
foreach($HTTP_POST_VARS as $name=> $value) {
$message.= "$name: $value\n";
}
$message = WORDWRAP($message,75,"\n");
mail($admin, $subject, STRIPSLASHES( $message ) , "From: $email");
header('Location: http://'.getenv('HTTP_HOST').'/thanks.php');
}else{
// Not passed 8-(
$captcha_msg="<font color=\"ff0000\">"."Invalid Code"."</font>";
//$captcha_msg="invalid code";
if(isset($_POST["MM_insert"])){
unset($_POST["MM_insert"]);
}
if(isset($_POST["MM_update"])){
unset($_POST["MM_update"]);
}
}
}
class CaptchaImage {
var $font = "verdana.ttf";
function hex_to_dec($hexcolor){
//convert hex hex values to decimal ones
$dec_color=array('r'=>hexdec(substr($hexcolor,0,2)),'g'=>hexdec(substr($hexcolor,2,2)),'b'=>hexdec(substr($hexcolor,4,2)));
return $dec_color;
}
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;
}
function CaptchaImage($width='150',$height='30',$characters='6',$hex_bg_color='FFFFFF',$hex_text_color="FF0000",$hex_noise_color="CC0000", $img_file='captcha.jpg') {
$rgb_bg_color=$this->hex_to_dec($hex_bg_color);
$rgb_text_color=$this->hex_to_dec($hex_text_color);
$rgb_noise_color=$this->hex_to_dec($hex_noise_color);
$code = $this->generateCode($characters);
/* font size will be 60% of the image height */
$font_size = $height * 0.60;
$image = @imagecreate($width, $height) or die('Cannot Initialize new GD image stream');
/* set the colours */
$background_color = imagecolorallocate($image, $rgb_bg_color['r'], $rgb_bg_color['g'],$rgb_bg_color['b']);
$text_color = imagecolorallocate($image, $rgb_text_color['r'], $rgb_text_color['g'],$rgb_text_color['b']);
$noise_color = imagecolorallocate($image, $rgb_noise_color['r'], $rgb_noise_color['g'],$rgb_noise_color['b']);
/* 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);
$x = ($width - $textbox[4])/2;
$y = ($height - $textbox[5])/2;
imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code);
/* save the image */
imagejpeg($image,$img_file);
imagedestroy($image);
echo "<img src=\"$img_file?".time()."\" width=\"$width\" height=\"$height\" alt=\"security code\" id=\"captchaImg\">";
$_SESSION['captcha_code'] = $code;
}
}
?>
Formulario:
Código HTML:
<form action="email.php" method="post" name="forma" id="forma"> <table width="489" border="0" align="center" cellpadding="0" cellspacing="0" class="form" id="form"> <tr> <td colspan="2"><p> <label>* denotes a required field<br /> <br /> </label> </p></td> </tr> <tr> <td width="220"><p> <label></label> <label>First Name: </label> <br /> </p></td> <td width="170"><p> <input name="nombre" type="text" class="campo" id="nombre" size="35" /> </p></td> </tr> <tr> <td><p> <label>Last Name: </label> </p></td> <td><p> <input name="contact_last_name" type="text" size="35" /> </p></td> </tr> <tr> <td><p> <label>Address me as: </label> <br /> <label></label> </p></td> <td><p> <input name="contact_greeting" type="text" size="35" /> </p></td> </tr> <tr> <td><p> <label>Email: </label> <br /> <label></label> </p></td> <td><p> <input name="email" type="text" class="campo" id="email" size="35" /> </p></td> </tr> <tr> <td><p> <label>Phone: </label> </p></td> <td><p> <input name="contact_home_phone" type="text" size="35" /> </p></td> </tr> <tr> <td><p> <label>How did you hear about our practice? </label> <br /> <label></label> </p></td> <td><p> <select name="how_did_you_hear_about_our_practice"> <option selected="selected">Choose one...</option> <option value="Staff Member">Staff Member </option> <option value="Advertisement">Advertisement</option> <option value="Yellow Pages">Yellow Pages</option> <option value="Other">Other</option> </select> </p></td> </tr> <tr> <td><p> <label>How did you find our website? </label> </p></td> <td><p> <select name="how_did_you_find_our_website"> <option selected="selected">Choose one...</option> <option value="Search Engine">Search Engine</option> <option value="Advertisement">Advertisement</option> <option value="A friend">A friend</option> <option value="Unknown">Unknown</option> </select> </p></td> </tr> <tr> <td><p>Comments: </p></td> <td><p> <textarea name="contact_comment" rows="7" cols="18"></textarea> </p></td> </tr> <tr> <td colspan="2"><div align="center"> <p>* For your security, please fill the code below:<br /> <?php $captcha = new CaptchaImage(150,50,5,'547d93','000000','0066CC');?> <br /> Code <input type="text" name="Code" id="Code" /> </p> </div> <p> </label> <?php echo $captcha_msg ?> </p></td> </tr> <tr> <td><p> </p></td> <td><p> <input name="button2" type="submit" class="form" id="button2" value="Send" /> </p></td> </tr> </table> </form>