As usual when working with SQL, its important to check your queries using some debugging output:
if(isset($_POST['Submit'])){
$query = "INSERT INTO employee (employeeid,password,dob,firstname,lastname,house,town,county,country,postcode) VALUES ('$employeeid','$password','$dob','$firstname','$lastname','$house','$town','$county','$country','$postcode')";
// DEBUG:
echo("\n\n<p><b>DEBUG:</b> query=\"$query\"</p>\n\n");
// END DEBUG
$msg = "New record is saved";
$Link = mysql_connect($Host,$User, $Password);
mysql_select_db($DBname);
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
mysql_close();
}
Now, I may be behind the times, but I don't think that just by POSTing values from an HTML form they become available as variables in a PHP script. (Correct me if I'm wrong, this may be a new feature).
I think that your query string needs to be contructed like this:
// make an array of the field names:
$fields = array("employeeid", "password", "dob", "firstname", "lastname", "house", "town", "county", "country", "postcode");
// start the query string using the fields array
$query = "INSERT INTO employee (" . join(",", $fields) . ")";
// create an empty array for the POSTed values
$values = array();
// iterate through the field names
foreach ($fields as $field_name)
{
// and for each one, retrieve the corresponding POSTed
// value and add it to the values array
$values[] = "\"" . $_POST[$field_name] . "\"";
}
// complete the query string by adding the VALUES
// clause using the values array:
$query .= " VALUES (" . join(", ", $values) . ")";
// DEBUG:
echo("\n\n<p><b>DEBUG:</b> query=\"$query\"</p>\n\n");
// END DEBUG
// execute query as before...