Tugas 8 PWEB B
Nama : Abiya Sabitta
NRP : 05111940000166
Pada pertemuan ke-13 & ke-14 kelas PWEB B, kami diberikan
tugas untuk mengimplemetasikan penggunaan PHP dan MySQL untuk membuat
sebuah program web yang dapat mengatasi pendaftaran siswa baru. Website
disusun menggunakan HTML, CSS dan library Bootstrap, kemudian untuk
backendnya menggunakan PHP, dan databasenya menggunakan MySQL. Setelah
web berhasil di susun secara lokal, web tersebut kemudian perlu di hosting - kan.
Berikut tampilan websitenya
Code:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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()); | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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>Form Pendaftaran Mahasiswa Baru</title> | |
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> | |
</head> | |
<body class="d-flex h-100 text-white bg-secondary"> | |
<div class="container d-flex w-100 h-100 p-3 mx-auto flex-column"> | |
<header class="p-3 bg-secondary text-white mb-auto"> | |
<div class="container-fluid"> | |
<div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start"> | |
<ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0"> | |
<li><a href="./index.php" class="nav-link px-2 text-white">Home</a></li> | |
<li><a href="./form-daftar.php" class="nav-link px-2 text-black-50">Daftar</a></li> | |
<li><a href="./list-siswa.php" class="nav-link px-2 text-white">List Pendaftar</a></li> | |
</ul> | |
</div> | |
</div> | |
</header> | |
<main class="px-3 mx-auto" style="max-width:42em"> | |
<div class="container p-0 card shadow border-0 rounded" style="min-width: 40rem;"> | |
<div class="card-header bg-success text-center"> | |
<h3>Formulir Mahasiswa Baru</h3> | |
</div> | |
<form class="bg-success text-white" action="proses-pendaftaran.php" method="POST"> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label class="form-label" for="nama">Nama: </label> | |
<input required class="form-control" type="text" name="nama" placeholder="Nama Lengkap" /> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label class="form-label" for="alamat">Alamat: </label> | |
<textarea required class="form-control" name="alamat"></textarea> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label for="jenis_kelamin">Jenis Kelamin: </label> | |
<label class="form-check-label"><input class="form-check-input" type="radio" name="jenis_kelamin" value="laki-laki"> Laki-laki</label> | |
<label class="form-check-label"><input class="form-check-input" type="radio" name="jenis_kelamin" value="perempuan"> Perempuan</label> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label for="agama">Agama: </label> | |
<select name="agama"> | |
<option>Islam</option> | |
<option>Kristen</option> | |
<option>Hindu</option> | |
<option>Budha</option> | |
<option>Atheis</option> | |
</select> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3 my-4"> | |
<p> | |
<label class="form-label" for="sekolah_asal">Sekolah Asal: </label> | |
<input class="form-control" required type="text" name="sekolah_asal" placeholder="Nama Sekolah" /> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3 my-4"> | |
<input class="w-100 btn btn-primary" type="submit" value="Daftar" name="daftar" /> | |
</div> | |
</form> | |
</div> | |
</main> | |
<footer class="mt-auto text-white-50 text-center"> | |
<p>powered by <a href="https://getbootstrap.com/" class="text-white">Bootstrap</a>.</p> | |
</footer> | |
</div> | |
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"> | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include("config.php"); | |
if (!isset($_GET['id'])) { | |
// kalau tidak ada id di query string | |
header('Location: list-siswa.php'); | |
} | |
//ambil id dari query string | |
$id = $_GET['id']; | |
// buat query untuk ambil data dari database | |
$sql = "SELECT * FROM calon_siswa WHERE id=$id"; | |
$query = mysqli_query($db, $sql); | |
$siswa = mysqli_fetch_assoc($query); | |
// jika data yang di-edit tidak ditemukan | |
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>Form Pendaftaran Mahasiswa Baru</title> | |
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> | |
</head> | |
<body class="d-flex h-100 text-white bg-secondary"> | |
<div class="container d-flex w-100 h-100 p-3 mx-auto flex-column"> | |
<header class="p-3 bg-secondary text-white mb-auto"> | |
<div class="container-fluid"> | |
<div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start"> | |
<ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0"> | |
<li><a href="./index.php" class="nav-link px-2 text-white">Home</a></li> | |
<li><a href="./form-daftar.php" class="nav-link px-2 text-white">Daftar</a></li> | |
<li><a href="./list-siswa.php" class="nav-link px-2 text-white">List Pendaftar</a></li> | |
</ul> | |
</div> | |
</div> | |
</header> | |
<main class="px-3 mx-auto" style="max-width:42em"> | |
<div class="container p-0 card shadow border-0 rounded" style="min-width: 40rem;"> | |
<div class="card-header bg-success text-center"> | |
<h3>Formulir Mahasiswa Baru</h3> | |
</div> | |
<form class="bg-success text-white" action="proses-edit.php" method="POST"> | |
<input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" /> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label class="form-label" for="nama">Nama: </label> | |
<input required class="form-control" type="text" name="nama" placeholder="Nama Lengkap" value="<?php echo $siswa['nama'] ?>" /> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label class="form-label" for="alamat">Alamat: </label> | |
<textarea required class="form-control" name="alamat"><?php echo $siswa['alamat'] ?></textarea> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label for="jenis_kelamin">Jenis Kelamin: </label> | |
<label class="form-check-label"><input class="form-check-input" type="radio" name="jenis_kelamin" value="laki-laki" <?php echo ($siswa['jenis_kelamin'] == 'laki-laki') ? "checked" : "" ?>> Laki-laki</label> | |
<label class="form-check-label"><input class="form-check-input" type="radio" name="jenis_kelamin" value="perempuan" <?php echo ($siswa['jenis_kelamin'] == 'perempuan') ? "checked" : "" ?>> Perempuan</label> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3"> | |
<p> | |
<label for="agama">Agama: </label> | |
<select name="agama"> | |
<option <?php echo ($siswa['agama'] == 'Islam') ? "selected" : "" ?>>Islam</option> | |
<option <?php echo ($siswa['agama'] == 'Kristen') ? "selected" : "" ?>>Kristen</option> | |
<option <?php echo ($siswa['agama'] == 'Hindu') ? "selected" : "" ?>>Hindu</option> | |
<option <?php echo ($siswa['agama'] == 'Budha') ? "selected" : "" ?>>Budha</option> | |
<option <?php echo ($siswa['agama'] == 'Atheis') ? "selected" : "" ?>>Atheis</option> | |
</select> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3 my-4"> | |
<p> | |
<label class="form-label" for="sekolah_asal">Sekolah Asal: </label> | |
<input class="form-control" required type="text" name="sekolah_asal" placeholder="Nama Sekolah" value="<?php echo $siswa['sekolah_asal'] ?>" /> | |
</p> | |
</div> | |
<div class="form-group mt-3 mx-3 my-4"> | |
<input class="w-100 btn btn-primary" type="submit" value="Simpan" name="simpan" /> | |
</div> | |
</form> | |
</div> | |
</main> | |
<footer class="mt-auto text-white-50 text-center"> | |
<p>powered by <a href="https://getbootstrap.com/" class="text-white">Bootstrap</a>.</p> | |
</footer> | |
</div> | |
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"> | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include("config.php"); | |
if( isset($_GET['id']) ){ | |
// ambil id dari query string | |
$id = $_GET['id']; | |
// buat query hapus | |
$sql = "DELETE FROM calon_siswa WHERE id=$id"; | |
$query = mysqli_query($db, $sql); | |
// apakah query hapus berhasil? | |
if( $query ){ | |
header('Location: list-siswa.php'); | |
} else { | |
die("gagal menghapus..."); | |
} | |
} else { | |
die("akses dilarang..."); | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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 Mahasiswa Baru</title> | |
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> | |
</head> | |
<body class="d-flex h-100 text-center text-white bg-success"> | |
<div class="container d-flex w-100 h-100 p-3 mx-auto flex-column"> | |
<header class="p-3 bg-success text-white mb-auto"> | |
<div class="container-fluid"> | |
<div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start"> | |
<ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0"> | |
<li><a href="./index.php" class="nav-link px-2 text-black-50">Home</a></li> | |
<li><a href="./form-daftar.php" class="nav-link px-2 text-white">Daftar</a></li> | |
<li><a href="./list-siswa.php" class="nav-link px-2 text-white">List Pendaftar</a></li> | |
</ul> | |
</div> | |
</div> | |
</header> | |
<main class="px-3 mx-auto bg-success" style="max-width:42em"> | |
<br> | |
<h1>Pendaftaran Mahasiswa Baru</h1> | |
<p class="lead"> | |
<a href="./form-daftar.php" class="btn btn-lg btn-secondary fw-bold border-white bg-white text-dark">Daftar Baru</a> | |
</p> | |
<p class="lead"> | |
<a href="./list-siswa.php" class="btn btn-lg btn-secondary fw-bold border-white bg-white text-dark">List Pendaftar</a> | |
</p> | |
</main> | |
<footer class="mt-auto text-white-50"> | |
<p>powered by <a href="https://getbootstrap.com/" class="text-white">Bootstrap</a>.</p> | |
</footer> | |
</div> | |
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"> | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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>Pendaftaran Mahasiswa Baru</title> | |
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> | |
</head> | |
<body class="d-flex h-100 text-white bg-secondary"> | |
<div class="container bg-success d-flex w-100 h-100 p-3 mx-auto flex-column"> | |
<header class="p-3 bg-success text-white mb-auto"> | |
<div class="container-fluid"> | |
<div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start"> | |
<ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0"> | |
<li><a href="./index.php" class="nav-link px-2 text-white">Home</a></li> | |
<li><a href="./form-daftar.php" class="nav-link px-2 text-white">Daftar</a></li> | |
<li><a href="./list-siswa.php" class="nav-link px-2 text-black-50">List Pendaftar</a></li> | |
</ul> | |
</div> | |
</div> | |
</header> | |
<main class="py-3 px-5"> | |
<h1>List Pendaftar</h1> | |
<p class="lead"> | |
<a href="./form-daftar.php" class="btn btn-sm btn-secondary fw-bold border-white bg-white text-dark">Tambah Baru</a> | |
</p> | |
<table class="table mt-4 bg-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 to get all data | |
$query = mysqli_query($db, $sql); | |
while ($siswa = mysqli_fetch_array($query)) { | |
echo "<tr>"; | |
echo "<td>" . $siswa['id'] . "</td>"; | |
echo "<td>" . $siswa['nama'] . "</td>"; | |
echo "<td style='width: 20%'>" . $siswa['alamat'] . "</td>"; | |
echo "<td>" . $siswa['jenis_kelamin'] . "</td>"; | |
echo "<td>" . $siswa['agama'] . "</td>"; | |
echo "<td>" . $siswa['sekolah_asal'] . "</td>"; | |
echo "<td>"; | |
echo "<a class='btn btn-dark mx-1' href='form-edit.php?id=" . $siswa['id'] . "'>Edit</a>"; | |
echo "<a class='btn btn-danger' href='hapus.php?id=" . $siswa['id'] . "'>Hapus</a>"; | |
echo "</td>"; | |
echo "</tr>"; | |
} | |
?> | |
</tbody> | |
</table> | |
<h5>Total: <?php echo mysqli_num_rows($query) ?></h5> | |
</main> | |
<footer class="mt-auto text-white-50 text-center"> | |
<p>powered by <a href="https://getbootstrap.com/" class="text-white">Bootstrap</a>.</p> | |
</footer> | |
</div> | |
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"> | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include("config.php"); | |
// cek apakah tombol daftar sudah diklik atau blum? | |
if(isset($_POST['simpan'])){ | |
// ambil data dari formulir | |
$id = $_POST['id']; | |
$nama = $_POST['nama']; | |
$alamat = $_POST['alamat']; | |
$jk = $_POST['jenis_kelamin']; | |
$agama = $_POST['agama']; | |
$sekolah = $_POST['sekolah_asal']; | |
// buat query update | |
$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); | |
// apakah query update berhasil? | |
if( $query ) { | |
// kalau berhasil alihkan ke halaman list-siswa.php | |
header('Location: list-siswa.php'); | |
} else { | |
// kalau gagal tampilkan pesan | |
die("Gagal menyimpan perubahan..."); | |
} | |
} else { | |
die("Akses dilarang..."); | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include("config.php"); | |
// cek apakah tombol daftar sudah diklik atau blum? | |
if(isset($_POST['daftar'])){ | |
// ambil data dari formulir | |
$nama = $_POST['nama']; | |
$alamat = $_POST['alamat']; | |
$jk = $_POST['jenis_kelamin']; | |
$agama = $_POST['agama']; | |
$sekolah = $_POST['sekolah_asal']; | |
// buat query | |
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal) VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah')"; | |
$query = mysqli_query($db, $sql); | |
// apakah query simpan berhasil? | |
if( $query ) { | |
// kalau berhasil alihkan ke halaman index.php dengan status=sukses | |
header('Location: index.php?status=sukses'); | |
} else { | |
// kalau gagal alihkan ke halaman indek.ph dengan status=gagal | |
header('Location: index.php?status=gagal'); | |
} | |
} else { | |
die("Akses dilarang..."); | |
} | |
?> |
Comments
Post a Comment