Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2004, 17:09
Avatar de vitxo
vitxo
 
Fecha de Ingreso: septiembre-2003
Ubicación: Valencia
Mensajes: 219
Antigüedad: 20 años, 7 meses
Puntos: 0
formularios + POO (más)

Hola a todos!

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(); 
Para validar el formulario que pongo al final del post.
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(); 
Es clase que se encarga de la gestión de usuarios es la que me permite recuperar un objeto representanto al usuario que está realizando el login, de ahi mi oscura duda sobre dónde meter ese código,

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>

Última edición por vitxo; 14/02/2004 a las 11:12