Yes, yes, and yes, but it gets quite lengthy in the explanation.
In short, create a form, use the POST method to send it to a validator script/page. In the validator, you can use PHP to check for the presence of a field from the form:
if($something) {
do something...
} else {
echo("No field, try again");
do something else...
}
You can also check for format and input using such commands as:
if(ereg(".+@.+\..+$", $email)) {
do something nice...
} else {
echo("Invalid email address format");
do something else...
}
//check for simple email address format validity.
^ = test from the beginning of the field
.+ = allow one or more of any character except new line
@ = make sure the literal character @ is next
.+ = followed by one or more characters except new line
\. = make sure the literal character . (dot) is next
.+ = followed by one or more characters except new line
$ = no trailing characters
Be careful with this one though, some email addresses don't conform to the normal, so instead of blocking them you may just want them to verify it. And it is a rather simple check, as it will also allow j123/\@[]}}.ยง%& to be input as well.
Once all that is done, you can use mail() to send it all off and to route to a thank you page.
If you are new to the language, might I recommend Professional PHP Programming from Wrox. Don't let the name fool you, fantastic book, walks you through the use of PHP from simple to complex.
HTH
Jim