Bueno... te puedo dar guias dado que es la mejor manera de entender el problema y solucionarlo, con lo que si te puedo colaborar directamente es con la validacion JS...
http://xsite.identity-dev.com/testlab/jslib.js
esta es una libreria JS que hice con funcionalidad que te puede servir en tus formas
solo usa onSubmit="return jsValidateForm(this);" en tu forma
y en los campos que deseas validar pon en el html los atributos validation="la_validacion_que_quieres" y validationMsg="Mensaje de error",
ademas asegurate de ponerle un id a tu campo
las validadiones disponibles son "empy" y "numeric" y "mail" estas con bien
simples (invierto mi tiempo en otras partes de la libreria...)
puedes registrar tus propias validaciones con
jsRegisterFormValidator(nombre,tu_function);
ejemplo de campo:
<input id="campo1" name="campo1" validation="empty" validationMsg="Debes poner algo...">
por lo de PHP
solo te digo que en vez de tener una redireccion por cada error, que almacenes ese error en una variable y que despues verificas a traves de una
variable de estado si existio un error, si existio algun error redireccionar.
el punto aqui es que la redireccion debe llevar de alguna manera los valores
de tus campos ya sea como dijo
DarioDario con cookies o sessiones o por la url. en todo caso en tu forma debes "recojer" estos valores ($_COKKIES,$_SESSION,$_GET) dependiendo de donde vienen y ponerlos en los values de tu forma.. ejemplo:
Código PHP:
<?php
function xRequest($key, $param,$ret='') //funcion de utileria
{
return isset($param[$key])?$param[$key]:$ret;
}
$valor=xRequest('campo1',$_GET);
?>
<input id="campo1" name="campo1" value="<?=$valor?>"
validation="empty" validationMsg="Debes poner algo...">