Hecho merge de backend a main de claseUsuario y controladorUsuario

This commit is contained in:
2026-09-25 08:58:53 +02:00
2 changed files with 56 additions and 3 deletions
+52
View File
@@ -139,4 +139,56 @@ class Usuario {
];
}
}
public static function buscarPorEmail($email) {
$conexion = conexionBD();
if (is_array($conexion)) {
return $conexion;
}
try {
$sql = "SELECT * FROM usuario WHERE email = :email";
$stmt = $conexion->prepare($sql);
$stmt->execute([':email' => $email]);
$datos = $stmt->fetch(PDO::FETCH_ASSOC);
if ($datos) {
return new Usuario(
$datos['nombreUsuario'],
$datos['contrasena'],
$datos['email'],
$datos['avatar'],
$datos['cookie'],
(int)$datos['aciertos'],
(int)$datos['victorias'],
(int)$datos['derrotas'],
(int)$datos['idUsuario']
);
}
return null; // No existe usuario con ese email
} catch (PDOException $error) {
return [
'error' => 'Ocurrió un error al buscar el usuario por email.',
'error_tecnico' => $error->getMessage()
];
}
}
public static function login($email, $contrasena) {
$usuario = self::buscarPorEmail($email);
if (!($usuario instanceof Usuario)) {
return null;
}
if (password_verify($contrasena, $usuario->getContrasena())) {
return $usuario;
}
return null; // Contraseña incorrecta
}
}
+2 -1
View File
@@ -2,7 +2,7 @@
session_start();
require_once '../clases/Usuario.php';
require_once '../clases/ClaseUsuario.php';
switch ($_POST['orden']) {
@@ -83,4 +83,5 @@ switch ($_POST['orden']) {
]);
break;
}