LexiConn Knowledgebase

Knowledgebase Home | Favorites Knowledgebase Home | Favorites
Search the Knowledgebase Browse by Category
Creating a formmail.php form with CAPTCHA functionality that does not require cookies
Article Details

Last Updated
5th of September, 2014

User Opinions (2359 votes)
78% thumbs up 21% thumbs down

How would you rate this answer?
Helpful
Not helpful

Using the CAPTCHA feature in formmail.php requires that users have cookies enabled in their browser to successfully submit your form. A user not accepting cookies from your site would receive an error such as this:

Error=Failed to obtain authorization to send you email

Fortunately there is a workaround that will allow users blocking cookies to submit a form without compromising the integrity of the CAPTCHA check; however, it requires a few simple steps to convert your form into a PHP script that uses sessions to store the same data on the server.

Here is a step-by-step procedure to convert your existing HTML form to a PHP form than will implement sessions:

1. Rename the file containing your form by changing then file extension from .htm (or .html) to .php:

contact_us.htmbecomescontact_us.php

2. Add a PHP call to start a new session just above the very first, opening tag in your file:
<?php
session_start();
?>
<html>
   <head>
   .
   .
   .

3. You will need to append the PHP session ID to the following URLs in your form using this format:

In the URL to call formmail.php:

<form method="post" action="http://www.yoursite.com/formmail.php">

becomes

<form method="post" action="http://www.yoursite.com/formmail.php?<?php echo SID; ?>">

In the URL to call verifyimg.php:

<img src="verifyimg.php" ...

becomes

<img src="verifyimg.php?<?php echo SID; ?>"

In the Javascript call to reload the image (if applicable):

document.vimg.src = "verifyimg.php";

becomes

document.vimg.src = "verifyimg.php?<?php echo SID; ?>";


Now your form will function properly for all users, even if they do not have cookies enabled.


Related Articles
Attachments
No attachments were found.

Powered by Interspire Knowledge Manager Knowledgebase Software