Te esta faltando indicarle al script cuando determinar que $hay_errores es TRUE... te recomiendo esto:
Código PHP:
<?
$mensaje = "";
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$nombre = trim($_POST["nombre"]);
$pulgadas = trim($_POST["pulgadas"]);
$garantia = trim($_POST["garantia"]);
$hay_errores = TRUE;
if (empty($_POST["nombre"]) || empty($_POST["pulgadas"]) || empty($_POST["garantia"])){
if(empty($_POST["nombre"]))
$mensaje = "Ha de escribir un nombre de fabricante de monitores TFT";
if(empty($_POST["pulgadas"]))
$mensaje = "Ha de escribir la casilla correspondiente a la garantía";
if(empty($_POST["garantia"]))
$mensaje = "Ha de escribir la casilla correspondiente a la garantía";
} else {
$hay_errores = FALSE;
}
if(!$hay_errores)
{
// Aqui continuas tu script...