DEV Community

Zen
Zen

Posted on

1 1

Source code of JSON Server app (written in PHP)

Database structure

Database: json
Table: jsonData
Field: id, kunci, json

PHP codes

halaman/beranda.php

<!DOCTYPE html>
<html>
<head>
    <title>JSON</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="JSON Server">
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.min.css">
    <style type="text/css">
        h3 {
            text-align: center;
        }
        .tombolTambah {
            margin: auto;
        }
    </style>
</head>
<body>
    <h3>JSON Server</h3>
    <form method="post" action="olah">
        <input type="hidden" value="<?= md5(rand()) ?>" name="kunci">
        <textarea name="json" required></textarea>
        <input type="submit" class="tombolTambah" value="Tambahkan" name="">
    </form>
    <script type="text/javascript">
        tinggi = () => document.querySelector('textarea').style.height = `${window.innerHeight - 130}px`
        tinggi()
        window.addEventListener('resize', tinggi)
    </script>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

halaman/olah.php

<?php 
$db->prepare('insert into jsonData (kunci, json) values (:kunci, :json)')->execute([
    ':kunci' => $_POST['kunci'],
    ':json' => $_POST['json']
]);
header('Location: ' . $_POST['kunci']);
Enter fullscreen mode Exit fullscreen mode

halaman/tampil.php

<?php 
$data = $db->query('select json from jsonData where kunci = "' . $routes[1] . '"');
$hasil = '';
while ($row = $data->fetch()) {
    $hasil = $row['json'];
}
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST");
header('Content-Type: application/json');
echo $hasil;
Enter fullscreen mode Exit fullscreen mode

halaman/ubah.php

<?php 
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST");
if (!empty($_POST['json'])) {
    $db->prepare('update jsonData set json = :json where kunci = :kunci')->execute([
        ':json' => $_POST['json'],
        ':kunci' => $routes[1]
    ]);
}
Enter fullscreen mode Exit fullscreen mode

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Enter fullscreen mode Exit fullscreen mode

index.php

<?php 
$db = new PDO('mysql:host=localhost;dbname=json', 'root', 'kucing');
$routes = explode('/', $_SERVER['PATH_INFO']);
if ($routes[1] == '') {
    include 'halaman/beranda.php';
} elseif ($routes[1] == 'olah') {
    include 'halaman/olah.php';
} elseif (strlen($routes[1]) > 0 && $routes[2] == 'ubah') {
    include 'halaman/ubah.php';
} elseif (strlen($routes[1]) > 0) {
    include 'halaman/tampil.php';
}
Enter fullscreen mode Exit fullscreen mode

API Trace View

Struggling with slow API calls?

Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more →

Top comments (1)

Collapse
 
hyftar profile image
Simon Landry

If you'd like to take your repo to the next step you can try my educative / barebone PHP Framework

github.com/Hyftar/hyftar-php-frame...

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay