I've made a html form using Bootstrap. I've used "required" to ensure data is populated in certain fields for the form to be submitted. This form goes to a php script that opens a database connection, inputs the values as per form submitted, directs to a thank you page and closes the connection.
Its my first hand coded form and my concern is security. How do I keep hackers/spammers at bay?
Can you point out, please, issues with my code so I can address them before I put this live. Please be gentle, Im a newbie with about 3 months of coding experience.
Please note the original form actually has 9 fields but I've omitted it presuming those details wont be necessary for this discussion.
HTML Code
<form class="form-horizontal" method="post" action="vacancy.php">
  <div class="form-group">
    <label for="company" class="col-sm-3 control-label">Company Name *</label>
      <div class="col-sm-6">
        <input type="text" name="company" class="form-control" placeholder="Enter Company Name" required />
      </div>
  </div>    
  <div class="form-group">
    <label for="contactperson" class="col-sm-3 control-label">Contact Person *</label>
      <div class="col-sm-6">
        <input type="text" name="contactperson" class="form-control" placeholder="Enter Full Name" required />
      </div>
  </div>
  <div class="form-group">
    <label for="designation" class="col-sm-3 control-label">Designation *</label>
      <div class="col-sm-6">
        <input type="text" name="designation" class="form-control" placeholder="Enter Designation" required />
      </div>
  </div>  
  <div class="form-group">
    <div class="col-sm-offset-3 col-sm-6">
      <button type="submit" class="btn btn-primary">Submit</button>
      <button type="reset" class="btn btn-default">Clear</button>
    </div>
  </div>
</form>
PHP Code
<?php
  $con=mysqli_connect("localhost","db2u","password","db2");
    if (mysqli_connect_errno())
     {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
  $sql="INSERT INTO vacancy (Company, ContactPerson, Designation)
  VALUES
  ('$_POST[company]','$_POST[contactperson]','$_POST[designation]')";
    if (!mysqli_query($con,$sql))
     {
      die('Error: ' . mysqli_error($con));
     }
    header("Location: thankyou.html");
  mysqli_close($con);
?>
EDIT : So it seems I need validation. Im looking at jqBootstrapValidation. Even considering htmlspecialchars (which ever is easier). I believe both would do an equally good job right? PDO is a bit too much for me at the moment.
 
     
     
     
    