so I am making a website teaching young children the concepts of programming. And I'm make an email contact form because I would like my users to contact me incase they have any improvment ideas or problems with my website. However, a lot of my syntax is appearing on the webpage and I don't know why. I first read through the code and spotted a few missing semi-colons and '$' signs and one curly bracket.
Despite me checking my code and fixing my errors it still appears on my webpage. I may think this may be to do with my syntax structure, I'm not 100% sure though.
Here is my code:
<html>
 <head>
 <title>CoderClub4Kids</title>
<style>
body {
    background-image: url("Background default.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100vh;
    background-color: #00802b;
}
p {
font-family: Comic Sans MS;
}
h1, h2, h3, h4, h5, h6 {
font-family: Comic Sans MS;
}
.container {
    overflow: hidden;
    background-color: yellow;
    font-family: Arial;
}
.container a {
    float: left;
    font-size: 16px;
    color: black;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-family:Comic Sans MS;
}
.dropdown {
    float: left;
    overflow: hidden;
}
.dropdown .dropbtn {
    font-size: 16px;    
    border: none;
    outline: none;
    color: black;
    padding: 14px 16px;
    background-color: inherit;
    font-family: Comic Sans MS;
}
.container a:hover, .dropdown:hover .dropbtn {
    background-color:#cccc00;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #ffffcc;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}
.dropdown-content a {
    float: none;
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}
.dropdown-content a:hover {
    background-color: #ffff66;
}
.dropdown:hover .dropdown-content {
    display: block;
}
</style>
 </head>
 <body>
 <table width="800" border="0" align="center" cellpadding="0" cellspacing="10" bgcolor="#FFFFFF">
    <td width="21%" align="left"><img src="logo2.png" width="300" height="200">
    </td>
  <tr> 
    <td valign="top"> 
      <table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr> 
        </tr>
      </table>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="10" bgcolor="#FFFFFF">
    <td width="21%" align="left">
    <div class="container">
    <a href="file:///C:/Users/sony/Desktop/CoderClub4kids/home.html">home</a>
    <div class="dropdown">
    <button class="dropbtn">About</button>
    <div class="dropdown-content">
    <a href="#">About The Website</a>
      <a href="#">About The Creator</a>
      <a href="#">About Coding</a>
    </div>
  </div> 
  <a href="#">Contact</a>
</div>
 </body>
 </html>
 <?php
if (isset($_POST['email'])) {}
    $email_to = "Test1@localhost";
    $email_subject = "CoderClub4Kids!";
    function died($error) {
        //error code
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error "<br /><br />";
        echo "Please go back and fix these errors <br /><br />";
        die();
    }
        // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');
    }
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $email_from = $_POST['email'];
    $telephone = $_POST['telephone'];
    $comments = $_POST['comments'];
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    if(!preg_match($email_$exp_$from)) {
    $error_message .='The Email Address you entered does not appear to be valid.<br />';
    }
    $string_exp = "/^[A-Za-z .'-]+$/";
    if(!preg_match($string_exp, $first_name)) {
       $error_message .= 'The First Name you entered does not appear to be valid.<br />';
       }
    if(!preg_match($string_exp, $last_name)) {
       $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
       }
    if(strlen($comments) < 2) {
       $error_message .='The Message you entered did not appear to be valid.<br />';
    }
    if(strlen($error_message) > 0) {
      died($error_message);
      }
      $email_message = "Form details below.\n\n";
      function clean_string($string) {
        $bad = array('content-type","bcc:","to:","cc:","href');
        return str_replace($bad, "" ,$string);
        }
    $email_message .= "First Name:  " .clean_string)($first_name). "\n";
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
    $email_message .= "Comments: ".clean_string($comments)."\n";
 // create email headers
 $headers = 'From: '. $email_from. "User".
 'Reply-To: ' .$email_from."User".
 'X-Mailer: PHP/' .phpversion();
 @mail($email_to, $email_subject, $email_message, $headers);
 ?>
 <p> Thank you for contacting us. We will be in touch as soon as possible!</p>
I'd be grateful to anyone who can help me. :-)
 
    
"`, the use of underscores instead of commas in preg_match, and the `)` in front of clean_string towards the end) – Chris Forrence Aug 24 '17 at 20:13