Muhammad Lintang Panjerino
5025201045
Pemrograman Web Kelas B
Tugas 7 mata kuliah Pemrograman Web Kelas B adalah latihan membuat program pendaftaran siswa dengan menggunakan PHP dan MySQL. Website ini saya buat dengan menggunakan 8 file PHP yang terhubung dengan local database. File tersebut antara lain: config.php, index.php, list-siswa.php, form-daftar.php, proses-pendaftaran.php, form-edit.php, proses-edit.php, hapus.php. Untuk mempercantik tampilan website saya menggunakan framework Bootstrap yang terhubung melalui CDN. Source code dari website ini terletak pada sebuah repository di akun Github saya.
Link Repository Github: https://github.com/mlintang20/pemrograman-web-tugas-7
Berikut adalah screenshot dari website tersebut:
Berikut adalah potongan source code:
config.php
<?php
$server='localhost';
$user = "root";
$password = "";
$nama_database = "pendaftaran_siswa";
$db = mysqli_connect($server, $user, $password, $nama_database);
if(!$db){
die("Gagal terhubung dengan database: " . mysqli_connect_error());
}
?>
index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pendaftaran Siswa</title>
<!-- CDN Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css">
</head>
<body class="bg-dark text-light d-flex flex-column align-items-center">
<div class="row" style="height: 100vh">
<div class="col d-flex flex-column justify-content-center align-items-center mb-5">
<header>
<h1>Pendaftaran Siswa Baru</h1>
</header>
<h3 class="mb-4">Menu</h3>
<nav class="d-flex justify-content-center">
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary"><a href="form-daftar.php" class="text-light text-decoration-none">Daftar Baru</a></button>
<button type="button" class="btn btn-primary"><a href="list-siswa.php" class="text-light text-decoration-none">Pendaftar</a></button>
</div>
</nav>
<?php if(isset($_GET['status'])): ?>
<div>
<?php
if($_GET['status'] == 'sukses') {
echo "<p class='fw-bold fs-3 text-success'>Pendaftaran berhasil!</p>";
} else {
echo "<p class='fw-bold fs-3 text-danger'>Pendaftaran gagal!</p>";
}
?>
</div>
<?php endif; ?>
</div>
</div>
<!-- cdn Bootstrap js -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js">
</body>
</html>
list-siswa.php
<?php include('config.php') ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>List Siswa</title>
<!-- CDN Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css">
</head>
<body class="bg-dark text-light">
<header class="text-center">
<h1 class="my-3">List Siswa yang Sudah Mendaftar</h1>
</header>
<div class="d-flex flex-column justify-content-center mx-5">
<nav>
<button type="button" class="btn btn-primary my-2">
<a href="form-daftar.php" class="text-light text-decoration-none">Tambah Siswa</a>
</button>
</nav>
<?php if(isset($_GET['status'])): ?>
<div>
<?php
if($_GET['status'] == 'sukses') {
echo "<p class='fw-bold fs-3 text-success'>Perubahan berhasil!</p>";
} else {
echo "<p class='fw-bold fs-3 text-danger'>Perubahan gagal!</p>";
}
?>
</div>
<?php endif; ?>
<table style="border: 1px solid white;">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Alamat</th>
<th>Jenis Kelamin</th>
<th>Agama</th>
<th>Sekolah Asal</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT * FROM calon_siswa";
$query = mysqli_query($db, $sql);
while($siswa = mysqli_fetch_array($query)){
echo "<tr>";
/*echo "<td>" . <?php for($i=0; $i < 10; $i++) {} ?> . "</td>";*/
echo "<td>" . $siswa['id'] . "</td>";
echo "<td>" . $siswa['nama'] . "</td>";
echo "<td>" . $siswa['alamat'] . "</td>";
echo "<td>" . $siswa['jenis_kelamin'] . "</td>";
echo "<td>" . $siswa['agama'] . "</td>";
echo "<td>" . $siswa['sekolah_asal'] . "</td>";
echo "<td>";
echo "<div class='btn-group' role='group'>";
echo "<button type='button' class='btn btn-warning'><a href='form-edit.php?id=".$siswa['id']."' class='text-dark text-decoration-none'>Edit</a></button>";
echo "<button type='button' class='btn btn-danger'><a onClick=\"javascript: return confirm('Hapus data ini?');\" href='hapus.php?id=".$siswa['id']."' class='text-light text-decoration-none'>Hapus</a></button>";
echo "</div>";
echo "</td>";
echo "</tr>";
}
?>
</tbody>
</table>
<h5 class="fw-bold mt-3">Total jumlah siswa: <?= mysqli_num_rows($query); ?> siswa</h5>
<div>
<button type="button" class="btn btn-info my-2">
<a href="index.php" class="text-dark text-decoration-none">Kembali Ke Menu Utama</a>
</button>
</div>
</div>
<!-- CDN Bootstrap JS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js">
</body>
</html>
form-daftar.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulir Pendaftaran Siswa Baru</title>
<!-- CDN Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css">
</head>
<body class="bg-dark text-light">
<header>
<h1 class="text-center my-3">Formulir Pendaftaran Siswa Baru</h1>
</header>
<form action="proses-pendaftaran.php" method="POST" class="d-flex justify-content-center mt-5">
<fieldset class="p-4 border border-3 border-secondary rounded">
<div class="my-3">
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="Nama Lengkap" class="bg-dark text-light" />
</div>
<div class="my-3">
<label for="alamat">Alamat: </label>
<textarea name="alamat" class="bg-dark text-light"></textarea>
</div>
<div class="my-3">
<label for="jenis_kelamin">Jenis Kelamin: </label>
<label><input type="radio" name="jenis_kelamin" value="Laki-laki">Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="Perempuan">Perempuan</label>
</div>
<div class="my-3">
<label for="agama">Agama: </label>
<select name="agama" class="bg-dark text-light">
<option>Islam</option>
<option>Kristen</option>
<option>Katolik</option>
<option>Hindu</option>
<option>Budha</option>
</select>
</div>
<div class="my-3">
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="Nama Sekolah" class="bg-dark text-light" />
</div>
<div class="d-flex justify-content-center">
<input type="submit" value="Daftar" name="daftar" class="mt-3 bg-success text-light">
</div>
</fieldset>
</form>
<!-- CDN Bootstrap JS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js">
</body>
</html>
proses-pendaftaran.php
<?php
include('config.php');
if (isset($_POST['daftar'])) {
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal) VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah')";
$query = mysqli_query($db, $sql);
if($query){
header('Location: index.php?status=sukses');
} else {
header('Location: index.php?status=gagal');
}
} else {
die("Akses dilarang!!!");
}
?>
form-edit.php
<?php
include('config.php');
if(!isset($_GET['id']) ){
header('Location: list-siswa.php');
}
$id = $_GET['id'];
$sql = "SELECT * FROM calon_siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
$siswa = mysqli_fetch_assoc($query);
if( mysqli_num_rows($query) < 1 ){
die("Data tidak ditemukan");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulir Edit Siswa</title>
<!-- CDN Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css">
</head>
<body class="bg-dark text-light">
<header>
<h1 class="text-center my-3">Formulir Edit Siswa</h1>
</header>
<form action="proses-edit.php" method="POST" class="d-flex justify-content-center mt-5">
<fieldset class="p-4 border border-3 border-secondary rounded">
<input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" />
<div class="my-3">
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="Nama Lengkap" class="bg-dark text-light" value="<?php echo $siswa['nama'] ?>" />
</div>
<div class="my-3">
<label for="alamat">Alamat: </label>
<textarea name="alamat" class="bg-dark text-light"><?php echo $siswa['alamat'] ?></textarea>
</div>
<div class="my-3">
<label for="jenis_kelamin">Jenis Kelamin: </label>
<?php $jk = $siswa['jenis_kelamin']; ?>
<label><input type="radio" name="jenis_kelamin" value="Laki-laki" <?php echo ($jk == 'Laki-laki') ? "checked": "" ?>> Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="Perempuan" <?php echo ($jk == 'Perempuan') ? "checked": "" ?>> Perempuan</label>
</div>
<div class="my-3">
<label for="agama">Agama: </label>
<?php $agama = $siswa['agama']; ?>
<select name="agama" class="bg-dark text-light">
<option <?php echo ($agama == 'Islam') ? "selected": "" ?>>Islam</option>
<option <?php echo ($agama == 'Kristen') ? "selected": "" ?>>Kristen</option>
<option <?php echo ($agama == 'Katolik') ? "selected": "" ?>>Katolik</option>
<option <?php echo ($agama == 'Hindu') ? "selected": "" ?>>Hindu</option>
<option <?php echo ($agama == 'Budha') ? "selected": "" ?>>Budha</option>
</select>
</div>
<div class="my-3">
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="Nama Sekolah" class="bg-dark text-light" value="<?php echo $siswa['sekolah_asal'] ?>" />
</div>
<div class="d-flex justify-content-center">
<input type="submit" value="Simpan" name="simpan" class="mt-3 bg-warning text-dark" />
</div>
</fieldset>
</form>
<!-- CDN Bootstrap JS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js">
</body>
</html>
proses-edit.php
<?php
include('config.php');
if(isset($_POST['simpan'])){
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];
$sql = "UPDATE calon_siswa SET nama='$nama', alamat='$alamat', jenis_kelamin='$jk', agama='$agama', sekolah_asal='$sekolah' WHERE id=$id";
$query = mysqli_query($db, $sql);
if( $query ) {
header('Location: list-siswa.php?status=sukses');
} else {
header('Location: list-siswa.php?status=gagal');
}
} else {
die("Akses dilarang!");
}
?>
hapus.php
<?php
include('config.php');
if(isset($_GET['id'])){
$id = $_GET['id'];
$sql = "DELETE FROM calon_siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
if($query){
header('Location: list-siswa.php');
} else {
die("Data gagal untuk dihapus!");
}
} else {
die("Akses dilarang!");
}
?>
Komentar
Posting Komentar