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 (4781 votes) |
42%
57%
|
Thank you for rating this answer.
|
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.
|
Attachments |
No attachments were found.
|