From d7803dfb51252392af050702b7402bf438bff948 Mon Sep 17 00:00:00 2001 From: Sergio Ceron Date: Fri, 10 Apr 2026 22:07:37 -0500 Subject: [PATCH 1/3] fix: Integrate Login System with Database --- action_login.php | 98 ++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/action_login.php b/action_login.php index ee978d8..30530b9 100644 --- a/action_login.php +++ b/action_login.php @@ -1,50 +1,50 @@ -setMethod( "POST" ); -$_validator->setVars( array("userName:required", "userPassword:required") ); - -if( $_validator->validate() ){ - $values = $_validator->getValues(); - - $user = $db->get_row( "select * from usuarios where usuario_alias='".$values["userName"]."'" ); - if( $user->usuario_password == md5($values["userPassword"]) ){ - $_SESSION[ 'user_id' ] = $user->usuario_id; - $_SESSION[ 'user_alias' ] = $user->usuario_alias; - $_SESSION[ 'user_role' ] = $user->usuario_tipo; - $db->query( "update usuarios set usuario_ultimoacceso='".date("y/m/d")."' where usuario_id=".$user->usuario_id ); - if( $user->usuario_tipo == 2 ){ - header( 'Location: ./admin_ponencias.php'); - }else if( $user->usuario_tipo == 3 ){ - header( 'Location: ./evaluate_ponencias.php'); - }else{ - header( 'Location: ./adminpanel.php'); - } - }else{ - header( 'Location: ./login.php?id='.base64_encode( "2" ) ); - } - -}else{ - for( $err="", $i = 0; $i < count($e = $_validator->getErrors()); $i++ ){ - $err = $err.";".$e[$i]["field"]; - } - header( 'Location: ./login.php?id='.base64_encode( "0" ).'&tk='.base64_encode($err) ); -} - +setMethod( "POST" ); +$_validator->setVars( array("userName:required", "userPassword:required") ); + +if( $_validator->validate() ){ + $values = $_validator->getValues(); + + $user = $db->get_row( "SELECT * FROM usuarios WHERE usuario_alias='".$db->escape($values["userName"])."'" ); + if( $user && $user->usuario_password === md5($values["userPassword"]) ){ + $_SESSION[ 'user_id' ] = $user->usuario_id; + $_SESSION[ 'user_alias' ] = $user->usuario_alias; + $_SESSION[ 'user_role' ] = $user->usuario_tipo; + $db->query( "update usuarios set usuario_ultimoacceso='".date("y/m/d")."' where usuario_id=".$user->usuario_id ); + if( $user->usuario_tipo == 2 ){ + header( 'Location: ./admin_ponencias.php'); + }else if( $user->usuario_tipo == 3 ){ + header( 'Location: ./evaluate_ponencias.php'); + }else{ + header( 'Location: ./adminpanel.php'); + } + }else{ + header( 'Location: ./login.php?id='.base64_encode( "2" ) ); + } + +}else{ + for( $err="", $i = 0; $i < count($e = $_validator->getErrors()); $i++ ){ + $err = $err.";".$e[$i]["field"]; + } + header( 'Location: ./login.php?id='.base64_encode( "0" ).'&tk='.base64_encode($err) ); +} + ?> \ No newline at end of file From a12ad5c3448f4822317766cd78a37ceb7669fe44 Mon Sep 17 00:00:00 2001 From: Sergio Ceron Date: Fri, 10 Apr 2026 22:07:38 -0500 Subject: [PATCH 2/3] fix: Integrate Login System with Database --- dao/UsuarioDao.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/dao/UsuarioDao.php b/dao/UsuarioDao.php index b431b68..4627705 100644 --- a/dao/UsuarioDao.php +++ b/dao/UsuarioDao.php @@ -12,7 +12,7 @@ public static function deleteAll($usuarios){ } } - public static function save($usuario){ + public static function save($usuario, $db){ try{ $sql = "insert into usuarios(usuario_nombre, usuario_apellidos, usuario_correo, usuario_telefono, usuario_direccion, usuario_nacimiento, usuario_alias, usuario_password, usuario_tipo) "; $sql .= "values('$usuario->getNombre()','$usuario->getApellidos()' "; @@ -27,7 +27,7 @@ public static function save($usuario){ } } - public static function update($usuario){ + public static function update($usuario, $db){ try{ $sql = "update usuarios set"; $sql .= " usuario_nombre = '$usuario->getNombre()',"; @@ -59,19 +59,19 @@ public static function persist($usuario){ } } - public static function delete($usuario){ + public static function delete($usuario, $db){ try { - $db->query("delete from usuarios where usuario_id=$usuario->getId()"); + $db->query("DELETE FROM usuarios WHERE usuario_id=".$db->escape($usuario->getId())); }catch(Exception $e){ throw new TransactionExcepion($e->getMessage(), $usuario, TransactionExcepion::DELETE_CODE, $e); } } - public static function findByQuery($query){ + public static function findByQuery($query, $db){ $users = array(); $sql = "select * from usuarios where $query"; try{ - $rows = $db->get_results( $sql ); + $rows = $db->get_results($sql); foreach( $rows as $row ){ $users[] = new Usuario($row); } @@ -95,11 +95,11 @@ public static function findAll(){ return $users; } - public static function findById($id){ + public static function findById($id, $db){ $sql = "select * from usuarios where usuario_id=$id"; $usuario = new Usuario(); try{ - $row = $db->get_results( $sql ); + $row = $db->get_row($sql); $usuario = new Usuario($row); }catch(Exception $e){ throw new QueryException($e->getMessage(), $sql, 0, $e); From 29312731ae05aa3c466302bdd39684cccd93dec7 Mon Sep 17 00:00:00 2001 From: Sergio Ceron Date: Fri, 10 Apr 2026 22:07:39 -0500 Subject: [PATCH 3/3] fix: Integrate Login System with Database --- services/UsuarioManager.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/services/UsuarioManager.php b/services/UsuarioManager.php index 71a8363..903293a 100644 --- a/services/UsuarioManager.php +++ b/services/UsuarioManager.php @@ -3,7 +3,7 @@ class UsuarioManager{ public static function registrarAdministrador($usuario){ try{ $usuario->setTipo(UsuarioType::ADMINISTRADOR); - UsuarioDao::persist($usuario); + UsuarioDao::persist($usuario, $GLOBALS['db']); }catch(TransactionException $te){ throw $te; } @@ -47,7 +47,7 @@ public static function registrarAsistente($usuario){ public static function obtener($id){ try{ - return UsuarioDao::findById($id); + return UsuarioDao::findById($id, $GLOBALS['db']); }catch(QueryException $qe){ throw $qe; } @@ -55,7 +55,7 @@ public static function obtener($id){ public static function eliminar($usuario){ try{ - UsuarioDao::delete($usuario); + UsuarioDao::delete($usuario, $GLOBALS['db']); }catch(TransactionException $te){ throw $te; } @@ -63,7 +63,7 @@ public static function eliminar($usuario){ public static function listar(){ try{ - return UsuarioDao::findAll(); + return UsuarioDao::findAll($GLOBALS['db']); }catch(QueryException $qe){ throw $qe; } @@ -71,7 +71,7 @@ public static function listar(){ public static function actualizar($usuario){ try{ - return UsuarioDao::persist($usuario); + return UsuarioDao::persist($usuario, $GLOBALS['db']); }catch(TransactionException $te){ throw $te; } @@ -79,7 +79,7 @@ public static function actualizar($usuario){ public static function alreadyRegistered($alias){ try{ - $usuarios = UsuarioDao::findByQuery("usuario_alias='$alias'"); + $usuarios = UsuarioDao::findByQuery("usuario_alias='".$GLOBALS['db']->escape($alias)."'", $GLOBALS['db']); if( count($usuarios) > 0 ){ return true; } @@ -91,7 +91,7 @@ public static function alreadyRegistered($alias){ public static function checkPassword($_usuario){ try{ - $usuario = UsuarioDao::findByQuery("usuario_alias='$_usuario->getAlias()'"); + $usuario = UsuarioDao::findByQuery("usuario_alias='".$GLOBALS['db']->escape($_usuario->getAlias())."'", $GLOBALS['db']); if( $usuario->getPassword() == $_usuario->getPassword() ){ return true; }