Simple email form - Newbie

Posted on 16th Feb 2014 by admin

Hello all,

First time poster!

I've been asked to create a simple HTML form that submits and sends the information to a particular email.
The client is using PHP. Since I have a .NET and C# background, I've never done any PHP code in my life.
Regardless of the technology, this is a trivial task, so I opened Google and search for PHP email forms example which I did find.

The HTML form and the PHP code works great, it does what it needs to do but the problem I have is:
I would like to display a message, once the form is submitted, saying "Thank you for submitting your request...".
In addition, I would also like to display a red message right next to the textbox if the user has not entered an email.

I do not wish to go crazy with all possible validation rules and what not, this is/will be a very simple form.
The PHP code I have so far, is the following:

Code: <?php

$name = $_REQUEST['txtName'];
$address = $_REQUEST['txtAddress'];
$city = $_REQUEST['txtCity'];
$email = $_REQUEST['txtEmail'];

if($email != '')
{
$body = "A user has submitted a form with the following:nn";
$body .= "Name: $namen";
$body .= "Address: $addressn";
$body .= "City: $cityn";
$body .= "Email: $emailn";

mail( "myemail@test.com", "My nice little subject", $body, "From: $email");

print "Thank you for submitting your request..."
}
else
{
print "Email address is mandatory!"
}
?>

The <form> tag submits to itself using the following:
<form method="post" action="<?php echo $PHP_SELF;?>">

The <form> has 4 textboxes and one submit button.

If the user submits the form without entering an email address, at the top of the page the phrase "Email address is mandatory!".
But I do not wish for this message to be displayed at the top of the page, I'd like the message to be disaplyed next to the textbox in question (or underneath).
The same thing for when the form is submitted correctly, I'd like to display a message at the bottom of the <form>.

Looks like the "print" method isn't enough...should I have some kind of place holder <div> (or label) placed next to the textbox and make the "print" method write in that <div>.

As I said, this should be somewhat trivial for any one that has more then 5 min exposure to PHP.
Thanks

Other forums