Cокращение ссылок (принцип работы)
Всем привет. Не могу понять принцип работы сервиса сокращения ссылок. Представим у меня есть база (id, link, short_link). Находясь на своем сайте все ясно, как через short_link открывать link. А вот как сделать открытие link через short_link в браузере, или как ссылку на другом ресурсе? Другими словами, как при нажатии на short_link заставить открываться саму link.
P.S. Думал про редирект, но опять же, как на каждую short_link повесить сой редирект.
В общем натолкните на мысль или еще лучше, дайте кусок кода для понимания
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$name = 'linksdb';
$link = mysqli_connect($host, $user, $pass, $name);
$query = 'SELECT * FROM links';
$result = mysqli_query($link, $query) or die(mysqli_error($link));
for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
foreach ($data as $item) {
if ($item['short_link']) {
header('Location:' . $item['link']);
}
}
Ответы (1 шт):
Автор решения: Владимир Клыков
→ Ссылка
index.php:
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$name = 'linksdb';
$link = mysqli_connect($host, $user, $pass, $name);
$url = $_GET['q'];
$query = "SELECT * FROM links where short_link = '$url' limit 1";
$result = mysqli_query($link, $query) or die(mysqli_error($link));
while($row = mysqli_fetch_assoc($result))
header("Location: {$row['link']}" );
Короткие ссылки для тестов:
example.com/q=HJJASD
example.com/q=dfggdD
в БД:
short_link link
HJJASD {куда хотите редирект со ссылки example.com/q=HJJASD}
dfggdD {куда хотите редирект со ссылки example.com/q=dfggdD}
код для примера, входящие параметры обязательно нужно фильтровать