Cara Membuat Penyingkat URL Menggunakan Javascript | AWDEV TUTORIAL
shortlink
<!DOCTYPE html>
<html lang="en">
<head>
<title>URL Shortener</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="wrapper">
<form action="#">
<i class="url-icon uil uil-link"></i>
<input type="text"placeholder="Enter the long url" required>
<button>Shorten the URL</button>
</form>
<div class="count">
<span>Total Links: <span>10</span> & Total Clicks</span>
</div>
<div class="url-area">
<div class="title">
<li>Shorten URL</li>
<li>Original URL</li>
<li>Clicks</li>
<li>Actions</li>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
Di bawah ini adalah area input:
Area masukan
Baca juga
✎ 13 Portal Berita Terbaik di Indonesia
✎ Cara Investasi Crypto di Pintu Dengan Aman dan Mudah
✎ Cara Membuat Acara Online Berbayar Halaman Facebook Awdev Global Network
✎ Digital Marketing Global Network AWDEV
✎ Cara Mendapatkan Sponsor untuk Sebuah Proyek dan Acara : Panduan Lengkap AWDEV - Bussines
Di folder shorten-url, kita juga akan menambahkan script.js, connect.php, controller.php, save-url.php, delete.php, dan style.cssfile.
Langkah 3: Konfigurasi MySQL dan buat database dan tabel
Pada bagian ini, kita akan mengkonfigurasi database MySQL dengan membuka panel phpMyAdmin. Nama pengguna admin secara default disetel ke root, dan kata sandi adalah bidang kosong.
Buat database, dan beri nama shorten-url. Kemudian buat tabel url. Atribut tabel urltermasuk (id, short_url, original_url, dan klik). Basis shorten-urldata menyimpan data URL (id, url asli, url pendek, dan klik).
Basis data
<?php
$domain = "localhost/url/";
$servername = "localhost";
$username = "root";
$password = "";
$dbname='shorten-url';
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Langkah 5: Buat URL pendek dengan PHP
Di area input, kami memasukkan URL panjang, dan setelah menekan tombol, URL pendek dibuat.
Kode berikut membuat URL pendek menggunakan PHP dan MySQL.
<?php
include "php/connect.php";
$new_url = "";
if(isset($_GET)){
foreach($_GET as $key=>$val){
$u = mysqli_real_escape_string($conn, $key);
$new_url = str_replace('/', '', $u);
}
$sql = mysqli_query($conn, "SELECT original_url FROM url WHERE short_url = '{$new_url}'");
if(mysqli_num_rows($sql) > 0){
$sql2 = mysqli_query($conn, "UPDATE url SET clicks = clicks + 1 WHERE short_url = '{$new_url}'");
if($sql2){
$original_url = mysqli_fetch_assoc($sql);
header("Location:".$original_url['original_url']);
}
}
}
?>
<?php
$sql2 = mysqli_query($conn, "SELECT * FROM url ORDER BY id DESC");
if(mysqli_num_rows($sql2) > 0){;
?>
<div class="url-area">
<div class="title">
<li>Shorten URL</li>
<li>Original URL</li>
<li>Clicks</li>
<li>Action</li>
</div>
<?php
while($row = mysqli_fetch_assoc($sql2)){
?>
<div class="data">
<li>
<a href="<?php echo $domain.$row['short_url'] ?>" target="_blank">
<?php
if($domain.strlen($row['short_url']) > 50){
echo $domain.substr($row['short_url'], 0, 50) . '...';
}else{
echo $domain.$row['short_url'];
}
?>
</a>
</li>
<li>
<?php
if(strlen($row['original_url']) > 60){
echo substr($row['original_url'], 0, 60) . '...';
}else{
echo $row['original_url'];
}
?>
</li>
</li>
</div>
<?php
}
?>
</div>
<?php
}
?>
</div>
Persingkat URL
Langkah 6: Hasilkan nomor acak unik
Kami membuat file controller.php, yang menghasilkan id unik dan memasukkan URL asli ke dalam tabel dengan URL pendek.
Kode berikut menghasilkan id acak unik untuk URL yang panjang. Ini adalah bagaimana kita dapat menghasilkan id unik:
<?php
include "connect.php";
$original_url = mysqli_real_escape_string($conn, $_POST['original_url']);
if(!empty($original_url) && filter_var($original_url, FILTER_VALIDATE_URL)){
$ran_url = substr(md5(microtime()), rand(0, 26), 5);////generating a random number, 5 characters
//checking that random generated url exists in the database or not
$sql = mysqli_query($conn, "SELECT * FROM url WHERE short_url = '{$ran_url}'");
if(mysqli_num_rows($sql) > 0){
echo "Something went wrong. Please generate again!";
}else{
//insert typed url into the table with short url
$sql2 = mysqli_query($conn, "INSERT INTO url (original_url, short_url, clicks)
VALUES ('{$original_url}', '{$ran_url}', '0')");
if($sql2){
$sql3 = mysqli_query($conn, "SELECT short_url FROM url WHERE short_url = '{$ran_url}'");
if(mysqli_num_rows($sql3) > 0){
$short_url = mysqli_fetch_assoc($sql3);
echo $short_url['short_url'];
}
}
}
}
?>
Langkah 7: Arahkan ulang ke URL panjang
URL pendek harus dialihkan ke URL panjang. Kode berikut mengarahkan pengguna dari URL pendek ke URL panjang.
let domain = "localhost/url/";
shortenURL.value = domain + data;
copyIcon.onclick = ()=>{
shortenURL.select();
document.execCommand("copy");
}
<div class="data">
<li>
<a href="<?php echo $domain.$row['short_url'] ?>" target="_blank">
<?php
if($domain.strlen($row['short_url']) > 50){
echo $domain.substr($row['short_url'], 0, 50) . '...';
}else{
echo $domain.$row['short_url'];
}
?>
</a>
</li>
Langkah 8: Fungsi menyimpan URL
Setelah membuat url pendek yang menghasilkan id unik. Id unik dapat diedit dan disimpan. Buat save-url.phpfile lalu salin dan tempel kode di bawah ini:
<?php
include "connect.php";
$og_url = mysqli_real_escape_string($conn, $_POST['short_url']);
$short_url = str_replace(' ', '', $og_url);
$hidden_url = mysqli_real_escape_string($conn, $_POST['hidden_url']);
if(!empty($short_url)){
if(preg_match("/\//i", $short_url)){
$explodeURL = explode('/', $short_url);
$shortURL = end($explodeURL);
if($shortURL != ""){
$sql = mysqli_query($conn, "SELECT short_url FROM url WHERE short_url = '{$shortURL}' && short_url != '{$hidden_url}'");
if(mysqli_num_rows($sql) == 0){
$sql2 = mysqli_query($conn, "UPDATE url SET short_url = '{$shortURL}' WHERE short_url = '{$hidden_url}'");
if($sql2){
echo "success";
}else{
echo "Error - Failed to update link!";
}
}else{
echo "The short url that you've entered already exist. Please enter another one!";
}
}else{
echo "Required - You have to enter short url!";
}
}else{
echo "Invalid URL - You can't edit domain name!";
}
}else{
echo "Error- You have to enter short url!";
}
?>
Di bawah ini adalah cara kerja fungsi simpan:
Simpan URL
Langkah 9: Fungsi hapus URL
Dimungkinkan juga untuk menghapus URL singkat yang disimpan dalam database. Buat delete.phpfile, lalu salin dan tempel kode di bawah ini:
<?php
include "connect.php";
if(isset($_GET['id'])){
$delete_id = mysqli_real_escape_string($conn, $_GET['id']);
$sql = mysqli_query($conn, "DELETE FROM url WHERE short_url = '{$delete_id}'");
if($sql){
header("Location: ../");
}else{
header("Location: ../");
}
}elseif(isset($_GET['delete'])){
$sql3 = mysqli_query($conn, "DELETE FROM url");
if($sql3){
header("Location: ../");
}else{
header("Location: ../");
}
}else{
header("Location: ../");
}
?>
Di bawah ini adalah cara kerja fungsi hapus:
Hapus URL
Beginilah cara kerja sistem Penyingkat URL:
penyingkat URL
Anda dapat menemukan kode sumber proyek di GitHub .
Membungkus
Selamat! Anda akhirnya telah membuat penyingkat URL menggunakan JavaScript, PHP, dan MySQL. Sistem menghasilkan id acak yang unik, dan setelah disimpan, itu disimpan dalam database.
Untuk meringkas, kita telah belajar:
Apa itu penyingkat URL?
Cara kerja penyingkat URL.
Cara membuat pemendek URL menggunakan JavaScript, PHP, dan MySQL.