Q:

Email contact-form based in php and html not working

I'm creating a website with a template from templateforest. I have an HTML contact form which is integrated at the bottom of the site and it is related with a PHP file for the submit process.
Here you are the code from the HTML part:
<!--contact section start-->
<div class="section section-contact" id="contact">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <!--tittle start-->
                <div class="tittle">
                    <h1>
                        <a name="contactar"><span>10</span></a>
                        Contactar</h1>
                    <h2>
                        <span> Si deseas ponerte en contacto conmigo por favor, rellena el siguiente formulario o si lo prefieres utiliza los datos de contacto facilitados al pie de esta página.</span>
                    </h2>
                </div>
                <!--tittle end-->
                <div class="contact-row">
                    <form role="form" class="form-horizontal">
                        <div class="row form-group">
                            <div class="col-sm-4 col-xs-12">
                                <input type="text" name="name" placeholder="Name" class="form-control">
                            </div>
                            <div class="col-sm-4 col-xs-12">
                                <input type="text" name="email" placeholder="Email" class="form-control">
                            </div>
                            <div class="col-sm-4 col-xs-12">
                                <input type="text" name="subject" placeholder="Subject" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-12">
                                <textarea name="comments" placeholder="Comments" class="form-control" rows="10" cols="30" id="msg" name=""></textarea>
                            </div>
                        </div>
                        <div class="row form-group text-center">
                            <div class="col-xs-12">
                                <button type="submit" id="submit" class="view-btn">Contactar con Patricia</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
<!--contact section end-->

And this is the code from sendmail.php file:
<?php
// Note: filter_var() requires PHP >= 5.2.0
if ( isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['comments']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) {

  // detect & prevent header injections
  $mailTest = "/(content-type|bcc:|cc:|to:)/i";
  foreach ( $_POST as $key => $val ) {
    if ( preg_match( $mailTest, $val ) ) {
      exit;
    }
  }

$headers = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>' . "\r\n" .
    'Reply-To: ' . $_POST["email"] . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

  mail( "info@example.com", $_POST['subject'], $_POST['comments'], $headers );
  //  Replace with your email 
}
?>

Obviously I've replaced the "info@example.com" with a valid email... but it didn't work.
I've looking for similar codes but I'm not very good at php so I can't find the solution.
When I push on "submit" button at the site, it just reloads the whole page... and that's all... no error message but also no email sent.
The php version of the server is 5.4.
EDIT AT 13/05/2015:
This is the PHP File code after the changes I've performed as they were sugested:
<?php
//this is to activate error messages
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Note: filter_var() requires PHP >= 5.2.0
if ( isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['comments']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) {

  // detect & prevent header injections
  $mailTest = "/(content-type|bcc:|cc:|to:)/i";
  foreach ( $_POST as $key => $val ) {
    if ( preg_match( $mailTest, $val ) ) {
      exit;
    }
  }

$headers = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>' . "\r\n" .
    'Reply-To: ' . $_POST["email"] . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if(mail( "info@example.com", $subject, $comment, $headers )){
   echo "Mail sent, it's out of your hands now and it did its job.";
}

else{
   echo "There was an error, check your logs.";
}
  //  Replace with your email 
}
?>

EDIT 2:
Now the HTML code looks like this:
<!--contact section start-->
<div class="section section-contact" id="contact">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <!--tittle start-->
                <div class="tittle">
                    <h1>
                        <a name="contactar"><span>10</span></a>
                        Contactar</h1>
                    <h2>
                        <span> Si deseas ponerte en contacto conmigo por favor, rellena el siguiente formulario o si lo prefieres utiliza los datos de contacto facilitados al pie de esta página.</span>
                    </h2>
                </div>
                <!--tittle end-->
                <div class="contact-row">
                    <form role="form" class="form-horizontal" action="sendmail.php">
                        <div class="row form-group">
                            <div class="col-sm-4 col-xs-12">
                                <input type="text" name="name" placeholder="Name" class="form-control">
                            </div>
                            <div class="col-sm-4 col-xs-12">
                                <input type="text" name="email" placeholder="Email" class="form-control">
                            </div>
                            <div class="col-sm-4 col-xs-12">
                                <input type="text" name="subject" placeholder="Subject" class="form-control">
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-xs-12">
                                <textarea name="comments" placeholder="Comments" class="form-control" rows="10" cols="30" id="msg" name=""></textarea>
                            </div>
                        </div>
                        <div class="row form-group text-center">
                            <div class="col-xs-12">
                                <button type="submit" id="submit" class="view-btn">Contactar con Patricia</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

A:

Seeing that what you posted for code, am submitting the following and taken from my comments.

Forms default to a GET method if a POST method isn't explicitly used. 

You're using POST arrays, so make your form a POST method. 
<form method="post" role="form" class="form-horizontal">
      ^^^^^^^^^^^^^

Unless you've got some JS/Ajax you're not showing us that does have a $.post or POST method in there, you will need to post that, after the fact. 

"no error message but also no email sent."

That's because you're not checking for them.
Add error reporting to the top of your file(s) which will help find errors.
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Sidenote: Error reporting should only be done in staging, and never production.

Footnotes:
You shouldn't pass POST arrays like this:
mail( "info@example.com", $_POST['subject'], $_POST['comments'], $headers );

You're leaving yourself open to XSS injection.
You should use pre-assigned variables.
$subject = $_POST['subject'];
$comment = $_POST['comments'];
...

mail( "info@example.com", $subject, $comment, $headers );

or
if(mail( "info@example.com", $subject, $comment, $headers )){
   echo "Mail sent, it's out of your hands now and it did its job.";
}

else{
   echo "There was an error, check your logs.";
}

XSS injection articles:

http://en.wikipedia.org/wiki/Cross-site_scripting
Cross-site Scripting (XSS) - OWASP

Edit:
<?php
//this is to activate error messages
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Note: filter_var() requires PHP >= 5.2.0
if ( isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['comments']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) {

  // detect & prevent header injections
  $mailTest = "/(content-type|bcc:|cc:|to:)/i";
  foreach ( $_POST as $key => $val ) {
    if ( preg_match( $mailTest, $val ) ) {
      exit;
    }
  }

$subject = $_POST['subject'];
$comment = $_POST['comments'];

$headers = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>' . "\r\n" .
    'Reply-To: ' . $_POST["email"] . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if(mail( "info@example.com", $subject, $comment, $headers )){
   echo "Mail sent, it's out of your hands now and it did its job.";
}

else{
   echo "There was an error, check your logs.";
}
  //  Replace with your email 
}
?>

