Pertemuan 11 PWEB - Membuat Website CRUD PHP MySQL

Nama : Kadek Fajar Pramartha Yasodana
NRP : 5025231185
Kelas : PWEB E

Membuat Website CRUD Pendaftaran Siswa PHP MySQL

Untuk membuat website CRUD ini saya menggunakan php, mysql, dan beberapa tools lain yang memudahkan development seperti tailwindcss dan Docker. Docker nantinya akan digunakan untuk deployment agar hasil yang didapatkan sudah pasti. Untuk runner dari php saya menggunakan nginx dan php-fpm agar lebih standard.

Source Code : GitHub

Untuk folder project terdapat beberapa folder dan file
folder root : Untuk menyimpan shell code dan config lainnya
folder Dockerfile : Untuk menyimpan file Docker
folder public : Untuk menyimpan file php yang nantinya akan dilakukan request.
nginx.conf : Config dari nginx yang akan digunakan untuk menjalankan website
deploy.sh : Script untuk melakukan deploy menggunakan docker.

Hasil
index.php

form-daftar.php
list-siswa.php

Melakukan Input







form-update.php & Melakukan Edit id:12 Jl.Mulyosari -> jl.Denpasar







Melakukan Delete id:12

API
config.php
Untuk sebagai template melakukan koneksi ke node docker database MySQL yang sudah kita buat
<?php
    $server = "php-database";
    $user = "user";
    $password = "password";
    $database = "phpdatabase";
    $port = "3306";
    $db = mysqli_connect($server, $user, $password, $database, $port);

    if(!$db)
    {
        die("Error when connecting to database!".mysqli_connect_error());
    }
?>

proses-pendaftaran.php
<?php
include("config.php");

if($_SERVER["REQUEST_METHOD"] == "POST")
{
    $nama = htmlspecialchars(trim($_POST["nama"]));
    $jenis_kelamin = htmlspecialchars(trim($_POST["jenis_kelamin"]));
    $agama = htmlspecialchars(trim($_POST["agama"]));
    $alamat = htmlspecialchars(trim($_POST["alamat"]));
    $sekolah_asal = htmlspecialchars(trim($_POST["sekolah_asal"]));

    if(empty($nama) || empty($jenis_kelamin) || empty($agama) || empty($alamat) || empty($sekolah_asal))
    {
        header("Location: index.php?status=invalid&damn=$nama;$jenis_kelamin;$agama;$alamat;$sekolah_asal");
    }
    else
    {
        $sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal) VALUE ('$nama', '$alamat', '$jenis_kelamin', '$agama', '$sekolah_asal');";
        $query = mysqli_query($db, $sql);

        if($query)
        {
            header("Location: index.php?status=success");
        }
        else
        {
            header("Location: index.php?status=fail");
        }
    }
}
else
{
    die("Forbidden!");
}
?>

update-pendaftaran.php
<?php
include("config.php");

if($_SERVER["REQUEST_METHOD"] == "POST")
{
    $id = htmlspecialchars(trim($_POST["id"]));
    $nama = htmlspecialchars(trim($_POST["nama"]));
    $jenis_kelamin = htmlspecialchars(trim($_POST["jenis_kelamin"]));
    $agama = htmlspecialchars(trim($_POST["agama"]));
    $alamat = htmlspecialchars(trim($_POST["alamat"]));
    $sekolah_asal = htmlspecialchars(trim($_POST["sekolah_asal"]));

    if(empty($nama) || empty($jenis_kelamin) || empty($agama) || empty($alamat) || empty($sekolah_asal))
    {
        header("Location: index.php?update=invalid");
    }
    else
    {
        $sql = "UPDATE calon_siswa SET nama='$nama', jenis_kelamin='$jenis_kelamin', agama='$agama', alamat='$alamat', sekolah_asal='$sekolah_asal' WHERE id=$id;";
        $query = mysqli_query($db, $sql);

        if($query)
        {
            header("Location: list-siswa.php?update=success");
        }
        else
        {
            header("Location: list-siswa.php?update=fail");
        }
    }
}
else
{
    die("Forbidden!");
}
?>


delete-pendaftaran.php
<?php
include('config.php');

$id = htmlspecialchars(trim($_GET['id']));

if(!empty($id))
{
    $sql = "DELETE FROM calon_siswa WHERE id=$id;";
    $query = mysqli_query($db, $sql);

    if($query)
    {
        header('Location: list-siswa.php?delete=succees');
    }
    else
    {
        header("Location: list-siswa.php?delete=fail");
    }        
}
else
{
    header('Location: list-siswa.php?delete=invalid');
}
?>

Comments

Popular posts from this blog

Pertemuan 13 OOP - Abstraksi & Simulasi Fox & Rabit

Pertemuan 6 KPPL - Implementasi Web ChatBot Tech Support System, Web & Prototipe & Metodologi