Hola,
La cosa es que si puedes comprobar los valores enviados en el formulario, nada te impide guardar estos valores (erróneos o no es lo de menos) y mostrarlos en los campos correspondientes. En PHP la cosa vendría a ser más o menos así, para que te hagas una idea de lo que digo:
Código PHP:
<?php
// script.php
$pass = '';
$user = '';
if(isset($_POST['submit'])){
if(isset($_POST['pass'])){
// Validas, pero, en todo caso...
$pass = $_POST['pass'];
}
if(isset($_POST['user'])){
// Validas, pero, en todo caso...
$user = $_POST['user'];
}
}
?>
<html>
<body>
<form method="post" action="script.php">
<input type="text" value="<?php echo $user; ?>" />
<input type="password" value="<?php echo $pass; ?>" />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
No sé si se comprende el asunto o qué. Pero verás que no es complicado.
PD. Nota que no llevo a cabo una "limpieza" de los valores de "user" y "pass", pero, antes de imprimirlos alegremente en el HTML necesitaría hacerse dicha limpieza. Se trata de escapar ciertos caracteres que podrían causar algún problema o representar alguna "falla" de seguridad. Pero no quiero extenderme, porque, no es el tema ahora.