Categories: PHP

Menambahkan data menggunakan rest api create dengan PHP MySQL (part 3)

Bismillaahirrohmaanirrohiim…

Berikut ini adalah cara mudah dan cepat membuat sendiri rest api create dengan PHP MySQL tanpa framework.

Ini adalah request dari salah satu pembaca rasupe tentang kelanjutan artikel rest api sebelumnya.

Untuk melanjutkan materi ini, lebih dahulu harus membaca tutorial sebelumnya tentang rest api, link ada di bawah.

Langsung saja ya,

1. Struktur file

Misalkan server anda ada di c:/xampp/htdocs/toko/
Buat struktur filenya menjadi seperti dibawah ini:

api/
    db/
        settings.ini.php
        Db.class.php
        Log.class.php
        
    categories/
        list.php
        create.php
web/
    inc.php
    index.php
    kategori.php
    kategori-add.php

2. buat file create.php

Untuk menambah isi dari tabel “categories” dengan rest api, kita perlu membuat file “create.php” (lihat lokasinya di atas).

Kita akan menggunakan method post, karena lebih dinamis dalam menangani parameter dan data yang banyak.
Nantinya kita akan membuat form input <form method="POST" action="API_URL"> di file kategori-add.php

Isi file create.php seperti di bawah ini:

<?php
header('Content-Type: application/json');

include dirname(dirname(__FILE__)).'/db/Db.class.php';

$db = new Db();

$cat_name = isset($_POST['cat_name']) ? $_POST['cat_name'] : '';
$cat_description = isset($_POST['cat_description']) ? $_POST['cat_description'] : '';

if (empty($cat_name)) {
    $arr = array();
    $arr['info'] = 'error';
    $arr['msg'] = 'Kategori tidak ada';

    echo json_encode($arr);
    exit();
}

$datas = array();
$datas['cat_name'] = $cat_name;
$datas['cat_description'] = $cat_description;
$datas['cat_created'] = date('Y-m-d H:i:s');
$datas['cat_modified'] = date('Y-m-d H:i:s');

$exec = $db->insert('categories', $datas);

if (!$exec) {
    $arr = array();
    $arr['info'] = 'error';
    $arr['msg'] = 'Query tidak berhasil dijalankan.';

    echo json_encode($arr);
    exit();
}

$arr = array();
$arr['info'] = 'success';
$arr['msg'] = 'Data berhasil diproses.';
echo json_encode($arr);

3. membuat file kategori-add.php

Ini adalah file yang berisi form add dan proses submit data ke api.

<?php
include 'inc.php';

$cat_name = isset($_POST['cat_name']) ? $_POST['cat_name'] : '';

if (!empty($cat_name)) {
    //proses submit ke API

    $cat_description = isset($_POST['cat_description']) ? $_POST['cat_description'] : '';

    $url = $api_url.'/categories/create.php';
    $postdata = array();
    $postdata['cat_name'] = $cat_name;
    $postdata['cat_description'] = $cat_description;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    $response = curl_exec ($ch);
    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $curl_error = curl_error($ch);
    curl_close ($ch);

    $arr_response = json_decode($response, true);
    $info = isset($arr_response['info']) ? $arr_response['info'] : 'error';
    $msg = isset($arr_response['msg']) ? $arr_response['msg'] : 'tidak diketahui';

    header('location:kategori-add.php?info='.$info.'&msg='.$msg);
    exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Add Kategori</title>
</head>

<body>
    <h1>Add Kategori</h1>

    <?php
    $info = isset($_GET['info']) ? $_GET['info'] : '';
    $msg = isset($_GET['msg']) ? $_GET['msg'] : '';

    if (!empty($info)) {
        echo 'Info: '.$info;
        echo '<br />Msg: '.$msg;
        echo '<br />';
    }
    ?>

    <p><a href="kategori.php">&laquo; Back</a> | <a href="kategori-add.php">Reload</a></p>

    <form method="POST" action-xhr="#">
        <table border="1">
            <tr>
                <td>Nama Kategori</td>
                <td>:</td>
                <td><input type="text" name="cat_name" size="50"></td>
            </tr>
            <tr>
                <td>Keterangan Kategori</td>
                <td>:</td>
                <td><input type="text" name="cat_description" size="50"></td>
            </tr>
        </table>

        <p>
            <input type="submit" name="sbm" value="Submit" />
        </p>
    </form>

</body>

</html>

4. Mencoba mengakses web kategori

Setelah semua file di atas siap, kita dapat mengakses alamat URL web kita, dengan cara buka dibrowser alamat URL di bawah ini:

http://localhost/toko/web/

Lalu klik link “Add New“, kemudian isi nama kategori dan keterangan setelah itu di submit.

5. Selesai

Jika data yang diinputkan tadi muncul di dalam tabel seperti gambar di atas, berarti sudah berhasil menambahkan data menggunakan rest api di website dengan PHP MySQL.

Script di atas boleh dicopas, tapi sebaiknya diketik ulang biar lebih mudah memahaminya.

Oia, script di atas dibuat sederhana, insyaAllah banyak yang sudah memahaminya, makanya tidak perlu kami jelaskan di artikel ini.
Apabila ada kode script yang belum dipahami, silahkan mengisi di kolom komentar di bawah ini.

Index Artikel Rest API dengan PHP MySQL:
1. Persiapan – Cara membuat rest api dengan php mysql mudah dan cepat
2. View – Menampilkan hasil dari rest API PHP MySQL
3. Add – Menambahkan data menggunakan rest API create PHP MySQL
4. Edit – Mengedit data menggunakan rest API PHP MySQL
5. Delete – Menghapus data menggunakan rest API PHP MySQL

Bagikan
rasupe

View Comments

Recent Posts

Teks panjang jadi titik-titik dengan css

Bismillaahirrohmaanirrohiim... Saat kita membuat kotak dengan lebar dan tinggi tertentu, tentunya teks didalamnya harus kita…

3 weeks ago

Bekerja dengan clearfix di css untuk posisi gambar dan teks dalam kotak

Bismillaahirrohmaanirrohiim... Clearfix pada css biasanya digunakan untuk menangani posisi elemen saat menggunakan float, dimana float…

3 weeks ago

Fix npx atau npm tidak jalan di windows

Bismillaahirrohmaanirrohiim... Setelah menginstall node.js dan ingin menggunakan perintah npx atau npm di power shell atau…

4 weeks ago

CPU usage tinggi pada server

Bismillaahirrohmaanirrohiim... Untuk mendeteksi cpu usage tinggi memang perkara rumit, adakalanya karena codingan bermasalah, akses ke…

3 months ago

Membersihkan log mongodb yang besar

Bismillaahirrohmaanirrohiim... Jika tidak dirawat dan dicek berkala, log mongodb akan semakin membesar. Bahkan sampai menghabiskan…

3 months ago

Cara mengakses gps di HP dengan javascript

Bismillaahirrohmaanirrohiim... Jika kita membuat website yang digunakan untuk memantau lokasi HP client, maka kita memerlukan…

6 months ago