Hola
 
Tengo un formulario y quisiera validar con php. 
Este seria el formulario: 
<form action="enviar.php" method="POST" id="formulario">
  <p> <input name="nombre" type="text" id="nombre" placeholder="Nombre" /></p>
 <p> <input name="email" type="email" id="email" placeholder="Email"/></p>
 <p><input name="tema" type="text" id="tema" placeholder="Asunto"/></p>
 <p><textarea name="consulta" id="consulta" placeholder="Mensaje"/></textarea></p>
 <p><input name="Enviar" type="submit" class="enviar" id="Enviar" title="Enviar" value="Enviar" onClick="validar()"></p>
</form> 
Valicacion javascript
: 
   function validar(){
	   	var vnom=document.getElementById("nombre").value
		var vemail=document.getElementById("email").value
		var vasunto=document.getElementById("asunto").value
		if (vnom == ""){
					alert("ERROR: introduce tu Nombre")
				}else{
					if (vemail == ""){
							alert("ERROR: introduce tu Email")
					}else{
						if (vasunto == ""){
											alert("ERROR: introduce el asunto")	
										}else{formulario.submit()	
			}
		}
	}	
}  
Y esto el php: 
<?php
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$tema = $_POST['tema'];
$consulta = $_POST['consulta']; 
$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain"; 
$mensaje = "Este mensaje fue enviado por: " . $nombre .  " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Mensaje: " . $_POST['consulta'] . " \r\n";  
$para = '
[email protected]';
$tema = 'Asunto del mail recibido'. $tema .   
mail($para, $tema, utf8_decode($mensaje), $header);  
 echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://xxxxxxx.es\">"; 
?> 
Lo de CONTENT: lo he puesto para que al pinchar en el boton "enviar" los campos aparezcan vacios de nuevo. seguro que hay otro metodo pero no tengo ni idea, estoy aprendiendo por mi cuenta muy poco a poco. 
Agradeceria cualquier critica para mejorar, claro 
Muchas gracias 
marina