miércoles, 24 de septiembre de 2025

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Crear tabla si no existe $db->exec("CREATE TABLE IF NOT EXISTS links ( id INTEGER PRIMARY KEY AUTOINCREMENT, code TEXT UNIQUE, url TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP )"); // Función para generar código corto function generarCodigo($longitud = 6) { return substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"), 0, $longitud); } // Si recibo un nuevo enlace para acortar if (isset($_POST['url'])) { $url = trim($_POST['url']); $code = generarCodigo(); $stmt = $db->prepare("INSERT INTO links (code, url) VALUES (:code, :url)"); $stmt->execute([':code' => $code, ':url' => $url]); echo "Tu enlace acortado: ".$_SERVER['HTTP_HOST']."/?r=$code"; exit; } // Si acceden con un código corto if (isset($_GET['r'])) { $code = $_GET['r']; $stmt = $db->prepare("SELECT url FROM links WHERE code = :code"); $stmt->execute([':code' => $code]); $link = $stmt->fetch(PDO::FETCH_ASSOC); if ($link) { header("Location: " . $link['url']); exit; } else { echo "⚠️ Enlace no encontrado."; } } ?> Mi Acortador

Acortar Enlace

No hay comentarios.:

Publicar un comentario

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Crear tabla si no existe $db->exec("CREATE TABLE IF NOT EXISTS links ( ...