El truco está en validar en el mismo documento (es decir, el form action apunta al mismo documento que contiene el form) y generar reportes de error:
Código PHP:
Ver original<?php
//reporte de errores
//compruebas envio
if(isset($_POST['submit'])) {
//recuperas datos
$name = (isset($_POST['name'])?
$_POST['name']:NULL);
//validacion
if($name !== NULL && strlen($name) > 0) { //validacion ok
return;
}
else {
$errors[] = "Indique un nombre";
}
}
?>
<html><head>
<!-- aquí va el js -->
</head><body>
<form action="" method="POST">
<?php
//vuelca los errores encontrados
foreach($errors as $error) {
echo "<div class=\"error_class_style\">".$error."</div><br />";
}
?>
<label for="name">Nombre</label><br />
<input type="text" name="name" value="" />
<br /><br />
<input type="submit" name="submit" value="submit" />
</form>
</body></html>
Cuando obtienes la validacion favorable solo tienes que aplicar las operaciones para las que envias los datos, o redirigir al documento que lo hace o lo que quieras, el return te asegura que no se reenviará el documento del form cuando la validacion es correcta.
A ver si te sirve de ayuda
Saludos
vosk