0% found this document useful (0 votes)
43 views3 pages

I Created A PHP Anti

The document describes a PHP anti-spam contact form that hides the email field and includes an extra "hidden" field not visible to users but that bots will likely fill in. If the hidden field is filled in, the form aborts with a warning rather than submitting. This avoids CAPTCHAs while preventing spam bots from submitting the form. The PHP code provided implements this approach with a basic contact form that sends submissions to the defined email.

Uploaded by

Shivendra Suman
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views3 pages

I Created A PHP Anti

The document describes a PHP anti-spam contact form that hides the email field and includes an extra "hidden" field not visible to users but that bots will likely fill in. If the hidden field is filled in, the form aborts with a warning rather than submitting. This avoids CAPTCHAs while preventing spam bots from submitting the form. The PHP code provided implements this approach with a basic contact form that sends submissions to the defined email.

Uploaded by

Shivendra Suman
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

I created a PHP anti-spam contact form recently and I'd like to share it with people.

The concept is that automated bots usually fill in all fields on a form so that they don't get
caught out by missing required fields. This form simply hides the email address using PHP
and has an extra field that is shielded from users using CSS. If this extra hidden field is filled
in, then the form aborts and throws up a warning message, whilst not submitting the form.
(CSS is used as opposed to the hidden HTML attribute to prevent smarter bots from missing
out this field - also, the field is called an inconspicuous name that bots would not
understand). Unlike other forms, it doesn't inconvenience the user at all with CAPTCHA
images or anti-spam questions.

It's a little basic, but I hope people will find it useful The rest of the HTML page needs to
be made (i.e. the header etc.) and the styling obviously needs to be done, but the PHP form
is functional.

<?php if($_POST['fred'] != "") {


echo('<p style="color: #8B2323; font-size: 16px; font-weight: bold;">You
may be using a text-only browser or you are a spambot. Sorry this has not been
submitted</p>');
}

else {
if(isset($_POST['name'])) {

if(($_POST['name'] == "") or ($_POST['email'] == "") or ($_POST['mess


age'] == "")) {
echo('<p style="color: #8B2323; font-size: 16px; font-weight: bol
d;">Please fill in all fields</p>');
}
else {

$name = $_POST['name'];
$email = $_POST['email'];
$company = $_POST['company'];
$website = $_POST['website'];
$formmessage = ($_POST['message']);
$emailmessage = "You have received a submission from your contact for
m.
Name: $name
Email: $email
Company: $company
Website: $website
Message: $formmessage
";

//Defining mail settings

$to = "Enter your email address here";


$subject = "Form submission sent";
$headers = "From: $email";

if(isset($name)) {
mail($to,$subject,$emailmessage,$headers);

?>

<?php if(isset($name)) {

echo('<p style="color: #8B2323; font-size: 15px; font-weight: bold;">Your


submission has been sent successfully</p>');

} ?>

<form action="" method="post" id="contact">


<p><label><span>Your name: </span></label><input type="text" name="na
me" /><br />
<label><span>E-mail address: </span></label><input type="text" name="
email" /><br />
<label><span>Company (optional): </span></label><input type="text" na
me="company" /><br />
<label><span>Web site address (optional): </span></label><input type=
"text" name="website" /><br />
<label><span>Your message: </span></label><textarea rows="15" cols="4
0" name="message"></textarea>
<input type="text" id="fred" name="fred" style="visibility: hidden;"/>
<input type="submit" value="Send" style="width: 8em; align: center;"
/></p>
</form>

You might also like