PHP, Popojicms

Cara membuat URL Shortener di PHP dan MySQLi

Cara membuat URL Shortener di PHP dan MySQLi

Anda mungkin menggunakan bit.ly, goo.gl, tinyurl.com atau mungkin beberapa layanan shortener lain untuk mempersingkat URL Anda. Memang benar bahwa URL panjang tidak tampak cantik ketika Anda berbagi dengan teman atau rekan-rekan melalui email atau pesan Anda. Dan saya setuju untuk setiap masalah ada solusinya di internet.

Bila Anda memiliki sudah terlalu banyak situs yang tersedia di internet untuk mempersingkat URL Anda, maka mengapa Anda perlu untuk membuatnya sendiri? Hal ini karena Anda ingin menggunakan domain perusahaan Anda sendiri untuk membuat shortener URL. Kenapa tergantung pada orang lain ketika Anda memiliki pilihan?

Dalam tutorial ini, aku akan menunjukkan cara untuk membuat URL Shortener di PHP dan MySQLi.

 

Bagaimana URL Shortener bekerja?

Konsep di balik URL Shortener sangat mudah dan mudah dipahami. Pada dasarnya, ketika Anda memasukkan URL yang panjang di URL Shortener Web App itu menghasilkan string acak dan menyimpannya dalam database URL panjang dan URL pendek  juga. Sehingga setiap kali seseorang mencoba untuk membuka URL singkat, akan mencari di database jika URL pendek yang disediakan ada di database ada  atau tidak. Jika ada dalam database maka akan mengambil URL pendek dan mengarahkan Anda ke URL yang panjang. Tunggu sebentar, Apakah saya memberitahu Anda bahwa cara ini menghasilkan URL pendek? Tidak? Ingat saya katakan bahwa itu menghasilkan string acak, bahwa string ditambah domain URL pendek. Ia bertindak seperti kata kunci yang unik untuk URL yang panjang. Misalnya, domain Anda adalah mydomain.com dan string dihasilkan adalah "xRb3p" maka URL singkat Anda akan terlihat seperti mydomain.com/xRb3p.

Mari kita lihat cara membuat app url shortener tersebut.

 

1. Database

 Yang pertama dan yang terpenting adalah database. Berikut ini adalah struktur database untuk aplikasi kecil tersebut.

CREATE TABLE `url_shortner` (
`url_id` varchar(5) NOT NULL,
`long_url` varchar(255) NOT NULL,
`short_url` varchar(50) NOT NULL,
PRIMARY KEY (`url_id`)
);

 

2. Connection

File ini berisi dasar koneksi MySQL database.

define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'url_shortener');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);

$site = "http://localhost/url_shortner";

 

"$site" variabel berisi URL situs web yang akan Anda buat URL Shortener. Dalam kasus ini, adalah localhost. Anda harus mengubah nilai-nilai semua file ini. Jadi aplikasi Anda dapat terhubung ke database Anda inginkan dengan benar.

 

3. functions.php

File ini berisi fungsi. Ini memiliki fungsi hanya satu yang kita akan gunakan untuk menghasilkan string acak.

function generateRandomString() 
{
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$charactersLength = strlen($characters);
$randomString = '';
 
for ($i = 0; $i < 5; $i++) 
{
$randomString .= $characters[rand(0, $charactersLength - 1)];
} 
return $randomString;
}

 

4. Indeks

Pertama-tama kita akan membangun bentuk HTML dasar untuk membiarkan pengguna memasukkan URL dan mengirimkannya untuk diproses lebih lanjut.


 

Sekarang kita lihat kode PHP. Sekarang kita harus mengeksekusi kode PHP ketika user menekan tombol 'Submit'.

 

if(isset($_POST["submit"])) 
{
// Code to be executed.
}

 

Di bawah ini ' Jika pernyataan ' kita pertama akan mengeksekusi query sederhana untuk memeriksa apakah input link telah sudah ada atau tidak.

$long_url = $_POST["long_url"];
$long_url = mysqli_real_escape_string($db, $long_url);
 
$sql="SELECT long_url FROM shortner WHERE long_url = '$long_url'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
 
if(mysqli_num_rows($result) == 0)
{
}

 

Sekarang jika pernyataan ini akan menjadi benar kami akan memeriksa bahwa URL input pengguna adalah URL yang valid atau tidak. Jika berlaku, kita akan mengeksekusi INSERT query sebaliknya Tampilkan kesalahan.

if (!filter_var($_POST['long_url'], FILTER_VALIDATE_URL) === false)
{
$url_id = generateRandomString();
$short_url = $site . "/" . $url_id;
 
$query = mysqli_query($db, "INSERT shortner (url_id, long_url, short_url) VALUES ('$url_id','$long_url','$short_url')");
 
if($query)
{
$msg = $short_url;
}
else
{
$msg = "there is some problem";
}
}
else
{
$msg = $_POST['long_url'] ."is not a valid URL";
}

 

Ini adalah hanya bagian dasar untuk memasukkan link baru atau memeriksa jika link sudah ada atau tidak. Baik, mari kita lihat pada bagaimana pengguna akan mengarahkan ke halaman URL panjang. Jadi di sini adalah kodenya.

if(isset($_GET['r']) || !empty($_GET['r']))
{
$url_id = $_GET['r'];
 
$sql = "SELECT long_url FROM url_shortner WHERE url_id = '$url_id'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
 
if(mysqli_num_rows($result) == 1)
{
$l_url = $row['long_url'];
header('Location:' .$l_url);
}
else
{
header('Location: index.php');
}
}

 

Akhir kata

Jadi itu hanya dasar aplikasi URL Shortener yang. Jika Anda ingin fitur baru di dalamnya, itu benar-benar tergantung pada Anda. Misalnya Anda ingin menambahkan fitur otentikasi di dalamnya, Bahkan jika Anda ingin semua dihasilkan link pendek dalam satu halaman Anda dapat menerapkan SELECT query dan menampilkan semua link di satu tempat. Yah, itu semua tergantung pada Anda. Jika Anda memiliki masalah, saran atau umpan balik Anda sangat menyambut komentar di bawah ini. Dan jangan lupa untuk berlangganan blog kami untuk mendapatkan setiap artikel baru langsung dalam kotak masuk Anda

Share This Post

Leave Comment

Get more stuff like this
in your inbox

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.