A lo que yo me refería es a algo de éste estilo:
Código php:
Ver original<?
function showForm($data, $type) {
$class[0] = 'no_ok';
$class[1] = 'ok';
?>
<form name="form" action="" method="POST">
<input type="text" name="nombre" class="<?=$class[$type['nombre']]?>" value="<?=$data['nombre'];?>"></input>
<input type="text" name="apellidos" class="<?=$class[$type['apellidos']]?>" value="<?=$data['apellidos'];?>"></input>
<input type="submit" name="enviar" value="Enviar">
</form>
<?
}
function validate($data, &$type) {
$result = 1;
$nombre = trim($data['nombre']); $apellidos = trim($data['apellidos']); $result = 0;
$type['nombre'] = 0;
} else
$type['nombre'] = 1;
$result = 0;
$type['apellidos'] = 0;
} else
$type['apellidos'] = 1;
return $result;
}
?>
<html>
<head>
<style type="text/css">
.ok {
background: green;
}
.no_ok {
background: red;
}
</style>
</head>
<body>
<?
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$data = $_POST;
$result = validate($data, $type);
if ($result == 1)
echo "TODO OK, aquí redireccionamos, o mostramos lo que sea...";
else
showForm($data, $type);
}
else {
$data['nombre'] = "";
$data['apellidos'] = "";
$type['nombre'] = 1;
$type['apellidos'] = 1;
showForm($data, $type);
}
?>
</body>
</html>
Es un ejemplo muy básico y optimizable, pero por ahí van los tiros.