Note that there are some explanatory texts on larger screens.

plurals
  1. POImage verification code problem
    primarykey
    data
    text
    <p>Hey all, I've added an image verification code to my contact form. It successfully displays the image but it tells me that the image verification code is wrong even if i type it in right. I believe it's a problem in my contactform.php</p> <p>Here is my HTML form: </p> <pre><code>&lt;form id="ajax-contact-form" action="javascript:alert('success!');"&gt; &lt;label&gt;Name:*&lt;/label&gt;&lt;INPUT class="textbox" type="text" name="name" value=""&gt;&lt;br /&gt; &lt;label&gt;E-Mail:*&lt;/label&gt;&lt;INPUT class="textbox" type="text" name="email" value=""&gt;&lt;br /&gt; &lt;label&gt;Telephone:&lt;/label&gt;&lt;INPUT class="textbox" type="text" name="Telephone" value="" /&gt;&lt;br /&gt; &lt;INPUT class="textbox" type="hidden" name="subject" value="Contact Form" &gt; &lt;label&gt;Message:*&lt;/label&gt;&lt;TEXTAREA class="textbox" NAME="message" ROWS="5" COLS="25"&gt; &lt;/TEXTAREA&gt;&lt;br /&gt; &lt;tr&gt; &lt;label&gt;Image Verification:*&lt;/label&gt; &lt;input type="text" name="verify" style="width:200px;" /&gt;&lt;img src="verification.php?&lt;?php echo rand(0,9999);?&gt;" alt="Help us avoid spam! Please type the image text in the box" width="50" height="24" align="absbottom" /&gt; &lt;label&gt;&amp;nbsp;&lt;/label&gt;&lt;INPUT class="button" type="submit" name="submit" value="Send Message"&gt; &lt;/form&gt; </code></pre> <p>Here is the contactform.php that it sends to:</p> <pre><code>&lt;?php /* Credits: Bit Repository URL: http://www.bitrepository.com/ */ include 'config.php'; error_reporting (E_ALL ^ E_NOTICE); $post = (!empty($_POST)) ? true : false; if($post) { include 'functions.php'; $name = stripslashes($_POST['name']); $email = trim($_POST['email']); $telephone = stripslashes($_POST['telephone']); $subject = stripslashes($_POST['subject']); $message = stripslashes($_POST['message']); $verify = stripslashes($_POST['verify']); $error = ''; // Check name if(!$name) { $error .= 'Please enter your name.&lt;br /&gt;'; } // Check email if(!$email) { $error .= 'Please enter an e-mail address.&lt;br /&gt;'; } if($email &amp;&amp; !ValidateEmail($email)) { $error .= 'Please enter a valid e-mail address.&lt;br /&gt;'; } // Check message (length) if(!$message || strlen($message) &lt; 15) { $error .= "Please enter your message. It should have at least 15 characters.&lt;br /&gt;"; } // Check Verification code if(md5($verify).'098f6bcd4621d373cade4e832627b4f6' != $_cookie['contact_verify']) { $error .= "Image Verification failed.&lt;br /&gt;"; } //Send the Name, Email, Telephone, and Message in a formated version. $email_message = "The following message was sent to you in your contact form on domain.com\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } $email_message .= "Name: ".clean_string($name)."\n"; $email_message .= "Email: ".clean_string($email)."\n"; $email_message .= "Telephone: ".clean_string($telephone)."\n"; $email_message .= "Message: ".clean_string($message)."\n"; if(!$error) { $mail = mail(WEBMASTER_EMAIL, $subject, $email_message, "From: ".$name." &lt;".$email."&gt;\r\n" ."Reply-To: ".$email."\r\n" ."X-Mailer: PHP/" . phpversion()); if($mail) { echo 'OK'; } } else { echo '&lt;div class="notification_error"&gt;'.$error.'&lt;/div&gt;'; } } ?&gt; </code></pre> <p>And finally.. here is verification.php that generates the verification image:</p> <pre><code>&lt;?php //Declare in the header what kind of file this is header('Content-type: image/jpeg'); //A nice small image that's to the point $width = 50; $height = 24; //Here we create the image with the sizes declared above and save it to a variable my_image $my_image = imagecreatetruecolor($width, $height); //Let's give our image a background color. White sound ok to everyone? imagefill($my_image, 0, 0, 0xFFFFFF); //Now we're going to add some noise to the image by placing pixels randomly all over the image for ($c = 0; $c &lt; 40; $c++){ $x = rand(0,$width-1); $y = rand(0,$height-1); imagesetpixel($my_image, $x, $y, 0x000000); } $x = rand(1,10); $y = rand(1,10); $rand_string = rand(1000,9999); imagestring($my_image, 5, $x, $y, $rand_string, 0x000000); /* We're going to store a ****** in the user's browser so we can call to it later and confirm they entered the correct verification. The "md5 rand string" can be anything you want. It's just our personal code to be added to the end of the captcha value stored in the ****** as an encrypted string */ setcookie('contact_verify',(md5($rand_string).'098f6bcd4621d373cade4e832627b4f6')); imagejpeg($my_image); imagedestroy($my_image); ?&gt; </code></pre> <p>Any ideas?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload