Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a72c7cafe | |||
| 8646f18782 | |||
| 0caa264961 |
@@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -83,4 +83,5 @@ switch ($_POST['orden']) {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user