estoy implementando el típico "login" y me ha surgido un dilema.
Tengo una clase para validar formularios (implementada como en WACT -http://wact.sourceforge.net/-, usando el patrón comando, aunque eso da igual ahora mismo) que uso de la siguiente manera:
Código PHP:
$processor =& new FormProcessor( $_POST );
//el campo de texto "usuario" es obligatorio y
// debe ser una palara de 4 a 15 letras.
$processor -> addRule( 'usuario', new RequiredRule() );
$processor -> addRule( 'usuario', new SizeRangeRule(4,15) );
//idem con la contraseña
$processor -> addRule( 'contrasenya', new RequiredRule() );
$processor -> addRule( 'usuario', new SizeRangeRule(6,15) );
//comprueba que esos dos campos cumplan esas reglas
$valido = $processor -> validate();
Mi dilema de los webs: sería correcto realizar la autentificación del usuario (contra una base de datos) de las siguiente forma (y no encapsulándola en una clase que se encargue de las operaciones sobre usuarios?)?
Código PHP:
//siendo $user una instancia de la clase User
//que contiene los datos del registro en la BD.
$processor -> addRule( 'username', new EqualToRule( $user->getUsername() );
$processor -> addRule( 'password', new EqualToRule( $user->getPassword() );
$valido = $processor->validate();
Aunque el FormProcessor funciona y ahorra tirar muchas líneas de código.
--
El formulario en cuestión es este:
Código PHP:
<form id="formarea" action="index.php?action=login" method="post">
<label for="usuario">Nombre de usuario</label>
<input type="text" id="usuario" name="usuario" value="<?php echo $post['usuario'] ?>" size="15"/>
<label for="contrasenya">Contraseña</label>
<input type="password" id="conrasenya" name="contrasnya" size="15"/>
<input type="submit" class="button" id="loginaction" name="loginaction" value="Identificar"/>
</form>