As I said before, you can just go with your original code and make only a few modifications. The following is my solution-in-theory (I didn't test this), as well as using header() to redirect them:
<?php
$errmsg = "";
$complete = true;
if (isset($_POST['submit'])) {
$fname = ($_POST['firstname']);
$lname = ($_POST['lastname']);
if (empty($fname)) {
echo "Please provide your FirstName <br/>";
$complete = false;
}
if (empty($lname)) {
$errmsg = "Please provide your LastName <br/>";
$complete = false;
}
if ($complete == true) {
header('Location: fine.html'); // better method of redirection
exit();
}
}
else
{
echo 'No form submitted...';
}
?>