I was also thinking of creating a contact-the-seller e-mail form with a captcha.
I found these codes which I think are pretty good to go on, but I would like the recipient to be specific. I think if you somehow can link the recipient to the e-mail column.
Also I dont know, but the captcha isnt working. I get nothing showing. Dunno really
this is the mailto.php and it sends to vasplusCaptcha.php
[php]<?php
include(“connect.php”);
session_start();
ob_start();
ini_set(‘error_reporting’ , 1);
if(isset($_POST[“submitted”]) && $_POST[“submitted”] == 1)
{
//Read POST request params into global vars
$to_email = "[email protected]"; // Replace this email field with your email address or your company email address
$from_fullname = trim(strip_tags($_POST[‘fullname’]));
$from_email = trim(strip_tags($_POST[‘email’]));
$email_subject = 'TESTING CAPTCHA: '.trim(strip_tags($_POST[‘subject’]));
$email_message = nl2br(trim(strip_tags($_POST[‘message’])));
$security_code = trim(strip_tags($_POST[‘vpb_captcha_code’]));
//Set up the email headers
$headers = "From: $from_fullname <$from_email>\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Message-ID: <".time().rand(1,1000)."@".$_SERVER['SERVER_NAME'].">". "\r\n";
if($from_fullname == "")
{
$submission_status = '<div class="vpb_info" align="left">Please enter your fullname in the required field to proceed. Thanks.</div>';
}
elseif($from_email == "")
{
$submission_status = '<div class="vpb_info" align="left">Please enter your email address in the required email field to proceed.</div>';
}
elseif(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $from_email))
{
$submission_status = '<div class="vpb_info" align="left">Sorry, your email address is invalid. Please enter a valid email address to proceed. Thanks.</div>';
}
elseif($email_subject == "")
{
$submission_status = '<div class="vpb_info" align="left">Please enter the subject of your message in the required field to proceed.</div>';
}
elseif($email_message == "")
{
$submission_status = '<div class="vpb_info" align="left">Please enter your message in the required message field to proceed. Thanks.</div>';
}
elseif($security_code == "")
{
$submission_status = '<div class="vpb_info" align="left">Please enter the security code in its field to send us your message. Thanks.</div>';
}
elseif(!isset($_SESSION['vpb_captcha_code']))
{
$submission_status = '<div class="vpb_info" align="left">Sorry, the security code you provided was incorrect, try again.</div>';
}
else
{
if(empty($_SESSION['vpb_captcha_code']) || strcasecmp($_SESSION['vpb_captcha_code'], $_POST['vpb_captcha_code']) != 0)
{
//Note: the captcha code is compared case insensitively. If you want case sensitive match, update the check above to strcmp()
$submission_status = '<div class="vpb_info" align="left">Sorry, the security code you provided was incorrect, try again.</div>';
}
else
{
$vasplus_mailer_delivers_greatly = @mail($to_email, $email_subject, $email_message, $headers);
if ($vasplus_mailer_delivers_greatly)
{
//Displays the success message when email message is sent
$submission_status = "<div align='left' class='vpb_success'>Congrats $from_fullname, your email message has been sent successfully!<br>We will get back to you as soon as possible. Thanks.</div>";
}
else
{
//Displays an error message when email sending fails
$submission_status = "<div align='left' class='vpb_info'>Sorry, your email could not be sent at the moment. <br>Please try again or contact this website admin to report this error message if the problem persist. Thanks.</div>";
}
}
}
}
?>
Contact Form
Please complete the form below to reach us...
Your Fullname:
" class="vpb_input_fields">
Email Address:
" class="vpb_input_fields">
Email Subject:
" class="vpb_input_fields">
Your Message:
<?php echo strip_tags($_POST["message"]); ?>
Security Code:
Can't read the above security code?
Refresh
<?php echo $submission_status; ?>
[/php]
vaspluscaptcha.php
[php]<?php
session_start();
//You can do any necessary settings as you wish here
//If you reduce the width and height of the captcha here then you have to change it in the css file as well
$image_width = 280;
$image_height = 50;
$characters_on_image = 8;
$font = ‘pictures/MONOFONT.ttf’;
//The characters that can be used in the CAPTCHA code. Avoid confusing characters (l 1 and i for example)
$possible_letters = ‘23456789bcdfghjkmnpqrstvwxyz’;
$random_dots = 0;
$random_lines = 20;
$captcha_text_color=“ee432e”;
$captcha_noice_color = “ee432e”;
$code = ‘’;
$i = 0;
while ($i < $characters_on_image)
{
$code .= substr($possible_letters, mt_rand(0, strlen($possible_letters)-1), 1);
$i++;
}
$font_size = $image_height * 0.75;
$image = @imagecreate($image_width, $image_height);
/*Setting the background, text and noise colours here */
$background_color = imagecolorallocate($image, 255, 255, 255);
$arr_text_color = RGB_HEX($captcha_text_color);
$text_color = imagecolorallocate($image, $arr_text_color[‘red’],
$arr_text_color[‘green’], $arr_text_color[‘blue’]);
$arr_noice_color = RGB_HEX($captcha_noice_color);
$image_noise_color = imagecolorallocate($image, $arr_noice_color[‘red’],
$arr_noice_color[‘green’], $arr_noice_color[‘blue’]);
/*This generates the dots randomly strings in background */
for( $i=0; $i<$random_dots; $i++ )
{
imagefilledellipse($image, mt_rand(0,$image_width),
mt_rand(0,$image_height), 2, 3, $image_noise_color);
}
/*This generates lines randomly strings in background of image */
for( $i=0; $i<$random_lines; $i++ )
{
imageline($image, mt_rand(0,$image_width), mt_rand(0,$image_height),
mt_rand(0,$image_width), mt_rand(0,$image_height), $image_noise_color);
}
/*This creates a text box and add 6 letters code in it */
$textbox = imagettfbbox($font_size, 0, $font, $code);
$x = ($image_width - $textbox[4])/2;
$y = ($image_height - $textbox[5])/2;
imagettftext($image, $font_size, 0, $x, $y, $text_color, $font , $code);
/* Show captcha image in the page html page */
header(‘Content-Type: image/jpeg’);// defining the image type to be shown in browser widow
imagejpeg($image);//showing the image
imagedestroy($image);//destroying the image instance
$_SESSION[‘vpb_captcha_code’] = $code;
function RGB_HEX ($hexstr)
{
$int = hexdec($hexstr);
return array(“red” => 0xFF & ($int >> 0x10),“green” => 0xFF & ($int >> 0x8),“blue” => 0xFF & $int);
}
?>[/php]