Build a Simple PHP Contact Form

Create a script to process your contact form data in just a few steps.
To try more advanced features, sign up and start exploring.

Process simple PHP contact form data without disruption

Contact forms are the easiest way to let your visitors get in touch with you. They also let you avoid revealing your email address on the web, which can attract spam.

You can build contact forms using various scripting languages, but PHP is one of the most popular. It's very flexible and simplifies connecting to databases, but isn't always easy to learn, especially for beginners. Don't worry, though – we're going to give you a jump-start with a functional script you can download.

To get the simple PHP contact form script for a simple contact form, just click here and save the file, or download the code below.
Want to learn even more? Check out our guide to building jQuery Contact forms with Ajax and PHP.

Get your PHP contact form script

if ($action=="")    /* display the contact form */
    <form  action="" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="action" value="submit">
    Your name:<br>
    <input name="name" type="text" value="" size="30"/><br>
    Your email:<br>
    <input name="email" type="text" value="" size="30"/><br>
    Your message:<br>
    <textarea name="message" rows="7" cols="30"></textarea><br>
    <input type="submit" value="Send email"/>
else                /* send the submitted data */
    if (($name=="")||($email=="")||($message==""))
		echo "All fields are required, please fill <a href=\"\">the form</a> again.";
	    $from="From: $name<$email>\r\nReturn-path: $email";
        $subject="Message sent using your contact form";
		// mail("", $subject, $message, $from);
		echo "Email sent!";

Step 1: Create a PHP file

A PHP contact form has two parts: the form that visitors see and the PHP script that processes the form data and sends it where you want it to go. Each part of the form can be located either in the same file (as you see in the example script) or in two different files. To create a PHP file, you can copy and paste the demo code above or download the example code file we've provided.

Step 2: Copy the PHP script from above

To gather user data, we'll create a simple PHP contact form that asks for a name, email and message (see the image on the left). We've highlighted the PHP contact form code above so you can see how it works.

When your visitors open the page with the form (see a live demo), they'll see the form fields from the HTML code. After filling out the form and clicking the "Send email" button, visitors will stay on the same page but see a message confirming the form was processed. Submitting the form sets a hidden parameter called action that prevents the form from being displayed again, so you won't bother visitors with forms they've already filled out. The PHP script also verifies that all the HTML fields are filled in properly. If even one is left empty, it generates an error message.

Create advanced forms with our
web form builder

This page shows you how to create a simple form, which is pretty easy. If you want to gather more data with other types of fields, such as single-choice, multiple-choice, text box or dropdown fields, you'll have to add validation and processing for these fields as well. If spammers start to autofill your form with garbage data, you can add CAPTCHA image verification to stop them. If users mistype their email addresses, turn on form validation to make sure that all emails are formatted properly. And if you want your visitors to send you files, you can let them upload files with PHP, too.

Doing all of this on your own would require advanced knowledge of PHP, but the 123ContactForm free PHP form generator includes these features and many more to make form building a breeze. Give it a try today!

Sign up, get your own PHP contact form and publish it on the web.

You don't need any programming skills – just copy and paste the code. It's a snap.