文件未附加邮寄

I have been trying to create a html form for users to send a mail with an attachment using the php mail function. The mail gets sent successfully but without the attachment. When i tried to check the file being uploaded I don't seem to be getting the file selected by the user. Below is my html code

<form name="message" id="message" method="post" action="mail.php" enctype="multipart/form-data">
        <input type="text" class ="text-class" id="name" name="name" placeholder="Name*" required/>

        <input type="email" class ="text-class" placeholder="Email*" name="Email" id ="Email" required/>

        <textarea class ="text-class" placeholder="Message*"  name="Message" id="Message" required></textarea>

        <div class="captcha">
        <div class="row">                               
        <div class="4u">
            <input  class ="text-class" type="text" value="2 + 3 is ?" name="question" readonly/>
            </div>
            <div class="8u">
            <input  class ="text-class" type="text" placeholder="Answer*" name="captcha" id="captcha" required/>
            </div>
            </div>
        </div>
        <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
        <input type="file" name="attachment" id="attachment"/>
        <input type="submit" name="Submit" value="Send" class="submit"/>

        </form>

mail.php

<?php

if(isset($_POST['Submit']) && ($_POST['Submit']) == 'Send' )
 {
  // Checking For Blank Fields..
  if($_POST["name"]==""||$_POST["Email"]==""||$_POST["Message"]==""){
  echo "Fill All Fields..";
 }else{
   // Check if the "Sender's Email" input field is filled out
   $email=$_POST['Email'];
   // Sanitize E-mail Address
   $email =filter_var($email, FILTER_SANITIZE_EMAIL);
   // Validate E-mail Address
   $email= filter_var($email, FILTER_VALIDATE_EMAIL);
   if (!$email){
      echo "Invalid Sender's Email";
   }
   else{
    $message = $_POST['Message'];
    $headers = 'From:'. $email . "
"; // Sender's Email

    /* GET File Variables */ 
    $tmpName = $_FILES['attachment']['tmp_name']; 
    $fileType = $_FILES['attachment']['type']; 
    $fileName = $_FILES['attachment']['name']; 

    if((empty($_POST['attachment'])) || (empty($_FILES['attachment']))){
      echo "No attachement!";
    }
    else{
      //file is attached, process it and send via mail
      $file = fopen($tmpName,'rb'); 
      $data = fread($file,filesize($tmpName)); 
      fclose($file); 

      $randomVal = md5(time()); 
      $mimeBoundary = "==Multipart_Boundary_x{$randomVal}x"; 

      /* Header for File Attachment */
      $headers .= "
MIME-Version: 1.0
"; 
      $headers .= "Content-Type: multipart/mixed;
" ;
      $headers .= " boundary=\"{$mimeBoundary}\""; 

      /* Multipart Boundary above message */
      $message = "This is a multi-part message in MIME format.

" . 
      "--{$mimeBoundary}
" . 
      "Content-Type: text/plain; charset=\"iso-8859-1\"
" . 
      "Content-Transfer-Encoding: 7bit

" . 
      $message . "

"; 

      /* Encoding file data */
      $data = chunk_split(base64_encode($data)); 

      /* Adding attchment-file to message*/
      $message .= "--{$mimeBoundary}
" . 
      "Content-Type: {$fileType};
" . 
      " name=\"{$fileName}\"
" . 
      "Content-Transfer-Encoding: base64

" . 
      $data . "

" . 
      "--{$mimeBoundary}--
"; 
      mail("mail@test.com", "Mail from my website", $message, $headers);
      echo "Your message has been received by us ! Thank you for contacting us";
      echo "<script>
        alert('Your message has been sent!');
      </script>";
   }

    exit;
   }
  }
 }else{
    echo "Not submitted";
 }
?>

I get "No attachment" messaged echoed since I don't seem to be getting the selected file from the html form. Please can someone tell me where I'm going wrong?