Skip to content
View in the app

A better way to browse. Learn more.

Web Designer Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Adding an anti-spam question to PHP form

Featured Replies

Hi there,

 

I only know a little php at this stage, and usually just find scripts and modify them as appropriate, however this is proving a little too difficult.

 

Basically I want to add an antispam question to a form which I've done in the HTML:

 

<form id="form" action="contact.php" method="post">
                 <table>
                    <tr>
                        <td align="right"><label for="name">Name:</label></td><td><input type="text" name="name" id="name" /></td>
                    </tr>
                    <tr>
                        <td align="right"><label for="email">Email:</label></td><td><input type="text" name="email" id="email"  /></td>
                    </tr>
                    <tr>
                        <td align="right"><label for="telephone">Telephone:</label></td><td><input name="telephone" type="text" id="telephone" /></td>
                    </tr>
                    <tr>
                        <td align="right"><label for="field">Anti-spam question:</label></td><td><input name="field" type="text" id="field" value="Complete the Beatles lyric: 'all you need is...'?"  onfocus="if(this.value==this.defaultValue) this.value='';"/></td>
                    </tr>
                    <tr>
                        <td align="right"><label for="message">Message:</label></td><td><textarea name="message"></textarea></td>
                    </tr>
                    <tr>
                        <td colspan="2" align="right"><img src="images/contactdots.gif" width="338" height="10" alt="" /></td>
                    </tr>
                    <tr>
                        <td colspan="2" align="right"><input id="button" type="Submit" value="SUBMIT" alt="submit" /></td>
                    </tr>
                </table>
               </form>

 

As you can see, the form is processed via contact.php, however I'm not sure how to validate the form anti-spam question.

I have originally just been using javascript for validation, however I realise this might need to change to PHP.

 

If anyone could advise of the correct code to validate this and then get it sent via contact.php which has the following code so far, that would be really appreciated...

 

<?php

if($_SERVER['REQUEST_METHOD'] == "POST"){

// Pick up the form data and assign it to variables
$name = stripslashes($_POST['name']);
$email = stripslashes($_POST['email']);
$tel = $_POST['telephone'];
$comments = stripslashes($_POST['message']);

// Build the email (replace the address in the $to section with your own)
$to = 'myemail@email.com';
$subject = "The Vintage Affair Web Quote enquiry";
$comments = "Name: $name \nEmail: $email \nTelephone: $tel \n\nDetails: $comments";
$headers = "From: myemail@email.com" . PHP_EOL . "Reply-To: myemail@email.com";

// Send the mail using PHPs mail() function
mail($to, $subject, $comments, $headers);

// Redirect
header("Location: thankyou.html");

}
?>

 


Edited by rallport
PLease use code tags in the future for a better response

Hi just check if the _POST value is equal to the answer.

 

Something like this:

 

if($_POST['field'] == 'Love'): 
    // Process form    
else: 
    // Error
endif;

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.