Tugas Pertemuan 13 PWEB
Nama : Moh. Rizky Rahmadian Makkani
NRP : 5025231035
Kelas : PWEB E
Tugas Pertemuan 13 : PWEB
Terdapt beberapa perubahan code dalam tugas pertemuan 13 dari tugas sebelumnya, yakni pada file-file di bawah.
Output :
form-daftar.php
<!DOCTYPE html>
<html>
<head>
<title>Formulir Pendaftaran Siswa Baru | SMK Coding</title>
</head>
<body>
<style>
<style>
/* General Reset */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f9;
color: #333;
}
/* Header Styling */
header {
background-color: #007BFF;
color: white;
padding: 20px;
text-align: center;
border-bottom: 3px solid #0056b3;
}
header h3 {
margin: 0;
font-size: 1.5em;
}
/* Form Container */
form {
max-width: 600px;
margin: 30px auto;
background: #ffffff;
padding: 20px;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
/* Fieldset Styling */
fieldset {
border: none;
padding: 0;
}
/* Input Styling */
p {
margin-bottom: 15px;
}
label {
display: block;
font-weight: bold;
margin-bottom: 5px;
}
input[type="text"],
textarea,
select {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
box-sizing: border-box;
background: #f9f9f9;
}
textarea {
resize: vertical;
height: 100px;
}
input[type="radio"] {
margin-right: 10px;
}
/* Button Styling */
input[type="submit"] {
display: inline-block;
background-color: #28a745;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
font-size: 1em;
cursor: pointer;
transition: background-color 0.3s;
}
input[type="submit"]:hover {
background-color: #218838;
}
/* Form Layout Adjustments */
p:last-child {
text-align: right;
}
input[type="file"] {
display: block;
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
background: #f9f9f9;
cursor: pointer;
margin-top: 5px;
}
input[type="file"]::-webkit-file-upload-button {
background-color: #007BFF;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
font-size: 1em;
cursor: pointer;
transition: background-color 0.3s;
}
input[type="file"]::-webkit-file-upload-button:hover {
background-color: #0056b3;
}
/* Responsive Design */
@media (max-width: 768px) {
body {
font-size: 16px;
}
form {
margin: 20px;
padding: 15px;
}
input[type="submit"] {
width
</style>
<header>
<h3>Formulir Pendaftaran Siswa Baru</h3>
</header>
<form action="proses-pendaftaran.php" method="POST" enctype="multipart/form-data">
<fieldset>
<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"></textarea>
</p>
<p>
<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>
</p>
<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>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" />
</p>
<p>
<label for="karyawan">Karyawan: </label>
<select name="karyawan">
<?php
include("config.php");
$sql = "SELECT id, nama FROM karyawan";
$query = mysqli_query($db, $sql);
while ($karyawan = mysqli_fetch_array($query)) {
echo "<option value='".$karyawan['id']."'>".$karyawan['nama']."</option>";
}
?>
</select>
</p>
<p>
<label for="foto">Foto :</label>
<input type="file" name="foto">
</p>
<p>
<input type="submit" value="Daftar" name="daftar" />
</p>
</fieldset>
</form>
</body>
</html>
form-edit.php
<?php
include("config.php");
// kalau tidak ada id di query string
if( !isset($_GET['id']) ){
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>
<head>
<title>Formulir Edit Siswa | SMK Coding</title>
</head>
<body>
<style>
/* General Reset */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f9;
color: #333;
}
/* Header Styling */
header {
background-color: #007BFF;
color: white;
padding: 20px;
text-align: center;
border-bottom: 3px solid #0056b3;
}
header h3 {
margin: 0;
font-size: 1.5em;
}
/* Form Container */
form {
max-width: 600px;
margin: 30px auto;
background: #ffffff;
padding: 20px;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
/* Fieldset Styling */
fieldset {
border: none;
padding: 0;
}
/* Input Styling */
p {
margin-bottom: 15px;
}
label {
display: block;
font-weight: bold;
margin-bottom: 5px;
}
input[type="text"],
textarea,
select {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
box-sizing: border-box;
background: #f9f9f9;
}
textarea {
resize: vertical;
height: 100px;
}
input[type="radio"] {
margin-right: 10px;
}
/* Button Styling */
input[type="submit"] {
display: inline-block;
background-color: #28a745;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
font-size: 1em;
cursor: pointer;
transition: background-color 0.3s;
}
input[type="submit"]:hover {
background-color: #218838;
}
/* Form Layout Adjustments */
p:last-child {
text-align: right;
}
input[type="file"] {
display: block;
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
background: #f9f9f9;
cursor: pointer;
margin-top: 5px;
}
input[type="file"]::-webkit-file-upload-button {
background-color: #007BFF;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
font-size: 1em;
cursor: pointer;
transition: background-color 0.3s;
}
input[type="file"]::-webkit-file-upload-button:hover {
background-color: #0056b3;
}
/* Responsive Design */
@media (max-width: 768px) {
body {
font-size: 16px;
}
form {
margin: 20px;
padding: 15px;
}
input[type="submit"] {
width
}
</style>
<header>
<h3>Formulir Edit Siswa</h3>
</header>
<form action="proses-edit.php" method="POST" enctype="multipart/form-data">
<fieldset>
<input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" />
<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" value="<?php echo $siswa['nama'] ?>" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"><?php echo $siswa['alamat'] ?></textarea>
</p>
<p>
<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>
</p>
<p>
<label for="agama">Agama: </label>
<?php $agama = $siswa['agama']; ?>
<select name="agama">
<option <?php echo ($agama == 'Islam') ? "selected": "" ?>>Islam</option>
<option <?php echo ($agama == 'Kristen') ? "selected": "" ?>>Kristen</option>
<option <?php echo ($agama == 'Hindu') ? "selected": "" ?>>Hindu</option>
<option <?php echo ($agama == 'Budha') ? "selected": "" ?>>Budha</option>
<option <?php echo ($agama == 'Atheis') ? "selected": "" ?>>Atheis</option>
</select>
</p>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" value="<?php echo $siswa['sekolah_asal'] ?>" />
</p>
<!-- Dropdown Nama Karyawan -->
<p>
<label for="id_karyawan">Nama Karyawan: </label>
<select name="id_karyawan">
<?php
// Ambil data karyawan dari database
$karyawan_sql = "SELECT id, nama FROM karyawan";
$karyawan_query = mysqli_query($db, $karyawan_sql);
while ($karyawan = mysqli_fetch_array($karyawan_query)) {
// Jika id_karyawan pada siswa cocok, beri atribut 'selected'
$selected = ($siswa['id_karyawan'] == $karyawan['id']) ? "selected" : "";
echo "<option value='".$karyawan['id']."' $selected>".$karyawan['nama']."</option>";
}
?>
</select>
</p>
<p>
<label for="foto">Foto :</label>
<?php if (!empty($siswa['foto'])): ?>
<img src="crud_upload/images/<?php echo $siswa['foto']; ?>" alt="Foto Siswa" style="max-width: 200px; margin-bottom: 10px;">
<?php endif; ?>
<input type="file" name="foto">
</p>
<input type="submit" value="Simpan" name="simpan" />
</p>
</fieldset>
</form>
</body>
</html>
proses-edit.php
<?php
include("config.php");
// cek apakah tombol simpan 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'];
$foto_name = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];
$foto_folder = 'crud_upload/images/' . $foto_name;
if (!empty($foto_name)) {
// Upload file to the target folder
if (move_uploaded_file($foto_tmp, $foto_folder)) {
// Jika file berhasil diunggah, masukkan nama file ke dalam database
$sql = "UPDATE calon_siswa SET nama='$nama', alamat='$alamat', jenis_kelamin='$jk', agama='$agama', sekolah_asal='$sekolah', foto='$foto_name' WHERE id=$id";
} else {
die("Gagal mengupload file...");
}
} else {
// Jika tidak ada file yang diunggah, update data tanpa mengubah kolom foto
$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...");
}
?>
proses-pendaftaran.php
<?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'];
$karyawan = $_POST['karyawan'];
$id_karyawan = $_POST['karyawan'];
$foto_name = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];
$foto_folder = 'crud_upload/images/' . $foto_name;
if($karyawan == 'Heri Senbud'){
$id_karyawan == 1;
}elseif($karyawan == 'Sukamti'){
$id_karyawan == 2;
}elseif($karyawan == 'Roni Toni'){
$id_karyawan == 3;
}
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal, id_karyawan, foto) VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah', '$id_karyawan', '$foto_name')";
$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.php dengan status=gagal
header('Location: index.php?status=gagal');
}
} else {
die("Akses dilarang...");
}
?>
list-siswa.php
<?php include("config.php"); ?>
<!DOCTYPE html>
<html>
<head>
<title>Pendaftaran Siswa Baru | SMK Coding</title>
</head>
<body>
<style>
body, h3, table, th, td, a, p {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
/* Body style */
body {
background-color: #f9f9f9;
color: #333;
padding: 20px;
}
/* Header style */
header {
background-color: #007acc;
color: #fff;
text-align: center;
padding: 15px 0;
border-radius: 10px;
margin-bottom: 20px;
}
header h3 {
font-size: 1.5em;
}
/* Navigation link style */
nav a {
display: inline-block;
padding: 10px 20px;
background-color: #28a745;
color: #fff;
border-radius: 5px;
text-decoration: none;
margin-bottom: 20px;
}
nav a:hover {
background-color: #218838;
}
/* Table style */
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
background-color: #fff;
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}
th, td {
border: 1px solid #ddd;
padding: 10px;
text-align: left;
}
th {
background-color: #007acc;
color: #fff;
text-transform: uppercase;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #f1f8ff;
}
/* Action links style */
a {
color: #007acc;
text-decoration: none;
font-weight: bold;
}
a:hover {
color: #005fa3;
}
/* Footer style */
p {
margin-top: 10px;
font-size: 14px;
text-align: center;
color: #555;
}
</style>
<header>
<h3>Siswa yang sudah mendaftar</h3>
</header>
<nav>
<a href="form-daftar.php">[+] Tambah Baru</a>
</nav>
<br>
<table border="1">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Alamat</th>
<th>Jenis Kelamin</th>
<th>Agama</th>
<th>Sekolah Asal</th>
<th>Nama Pegawai</th>
<th>foto</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT calon_siswa.*, karyawan.nama nama_pegawai
FROM calon_siswa
JOIN karyawan ON calon_siswa.id_karyawan = karyawan.id";
$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>".$siswa['alamat']."</td>";
echo "<td>".$siswa['jenis_kelamin']."</td>";
echo "<td>".$siswa['agama']."</td>";
echo "<td>".$siswa['sekolah_asal']."</td>";
echo "<td>".$siswa['nama_pegawai']."</td>";
if (!empty($siswa['foto'])) {
echo "<td><img src='crud_upload/images/".$siswa['foto']."' alt='Foto Siswa' style='max-width: 100px; height: auto;'></td>";
} else {
echo "<td><em>Tidak ada foto</em></td>";
}
echo "<td>";
echo "<a href='form-edit.php?id=".$siswa['id']."'>Edit</a> | ";
echo "<a href='hapus.php?id=".$siswa['id']."'>Hapus</a>";
echo "</td>";
echo "</tr>";
}
?>
</tbody>
</table>
<p>Total: <?php echo mysqli_num_rows($query) ?></p>
</body>
</html>
Komentar
Posting Komentar