Precisamente ayer hice esto que estas pidiendo.
1- seria bueno que le ahorres tiempo al usuario.
Utilizar un codigo sencillo de javascript para validar los textbox que el usuario DEBE llenar. Comparar contraseñas por medio de un cambio Contraseña y Confirmacion.
2- Utilizando sessiones.
Para que no sobrecargues la barra de direccion con todos los parametros que llenaste previamente (page.php?a=blabla&b=12&c=....)
Despues de verificar que los datos que paso el usuario NO son correctos, ahi es donde los asignas a variabales de session....ya con esto regresas a la pagina anterior y por medio del modificador VALUE, les asignas los valores que el usuario habia elegido.
Si optas por esto, DEBES enviar por parametro en la barra de direccion alguna variable: err=1
ahora, al entrar a la pagina de formulario, si el usuario NO ha llenado ni enviado nada de informacion...esto te dara un error....UNDEFINED INDEX..... esto es porque estaras queriendo mostrar variables de session que no existen...jejeje, para esto, debes poner un codigo similar en cada TEXTBOX: << input name="nombre" value="< ? if ( isset(err)==TRUE ) { echo $_SESSION['valor_que_corresponde'] } ? >" >
Y listo.
Pd...si en este mensaje ves algo como &alt; cambialo por el simbolo "MAYOR QUE" o "MENOR QUE"