PWEB A - Tugas CRUD Upload Foto Pendaftaran - PPDB Kabupaten Pamekasan 2022

Tugas CRUD Upload Foto Pendaftaran - PPDB Kabupaten Pamekasan 2022

22 Desember 2022

Blog ini merupakan dokumentasi pengerjaan tugas CRUD untuk membuat upload foto pendaftaran. Pada tugas ini saya melanjutkan dari pengerjaan Tugas CRUD Pendaftaran Siswa Baru


Schema Database
Untuk bisa menangani upload foto pendaftaran, perlu dilakukan perubahan pada skema database dengan menambah atribut foto bertipe varchar() untuk menyimpan nama foto masing masing calon siswa
Screenshot Demo
Kemudian menambahkan input bertipe image pada halaman daftar-baru.php dan edit.php untuk menangani input foto oleh user. Serta menambahkan kolom baru pada tabel list-pendaftar.php
  • daftar-baru.php
  • list-pendaftar.php
  • edit.php


Backend Algorithm
Pada backend, perlu menambahkan beberapa konfigurasi pada proses-edit.php dan proses-pendaftaran.php untuk menangani upload foto. 

<script src="https://code.jquery.com/jquery-3.6.2.min.js" integrity="sha256-2krYZKh//PcchRtd+H+VyyQoZ/e3EcrkxhM8ycwASPA=" crossorigin="anonymous"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<?php
include "./config.php";
include "./functions.php";
$id = $_POST['id'];
$name = $_POST['name'];
$address = $_POST['address'];
$sex = $_POST['sex'];
$religion = $_POST['religion'];
$previous_school = $_POST['previous-school'];
var_dump($_FILES);
$tmp_loc = $_FILES['photo']['tmp_name'];
$path = $_FILES['photo']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
$photo = "photo_".$id.".".$ext;
$target_path = "../storage/";
move_uploaded_file($tmp_loc, $target_path.$photo);
$update_query = "UPDATE calon_siswa SET nama='$name', alamat='$address', jenis_kelamin='$sex', agama='$religion', sekolah_asal='$previous_school', foto='$photo' WHERE id='$id'";
$update = mysqli_query($conn, $update_query);
if ($update){
echo '<script type="text/javascript">
$(document).ready(function(){
Swal.fire({
icon: "success",
title: "Berhasil",
text: "Update data berhasil!",
}).then((result) => {
if (result.isConfirmed) {
document.location.href="../index.php";
}
});
})
</script>';
}
?>
view raw proses-edit.php hosted with ❤ by GitHub
<script src="https://code.jquery.com/jquery-3.6.2.min.js" integrity="sha256-2krYZKh//PcchRtd+H+VyyQoZ/e3EcrkxhM8ycwASPA=" crossorigin="anonymous"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<?php
include "./config.php";
include "./functions.php";
$id = getNewId();
$name = $_POST['name'];
$address = $_POST['address'];
$sex = $_POST['sex'];
$religion = $_POST['religion'];
$previous_school = $_POST['previous-school'];
$tmp_loc = $_FILES['photo']['tmp_name'];
$path = $_FILES['photo']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
$photo = "photo_".$id.".".$ext;
$target_path = "../storage/";
move_uploaded_file($tmp_loc, $target_path.$photo);
$insert_query = "INSERT INTO calon_siswa (id, nama, alamat, jenis_kelamin, agama, sekolah_asal, foto) VALUES ('$id', '$name', '$address', '$sex', '$religion', '$previous_school', '$photo')";
$insert = mysqli_query($conn, $insert_query);
if ($insert){
echo '<script type="text/javascript">
$(document).ready(function(){
Swal.fire({
icon: "success",
title: "Berhasil",
text: "Selamat, registrasi berhasil!",
}).then((result) => {
if (result.isConfirmed) {
document.location.href="../index.php";
}
});
})
</script>';
}else{
echo '<script type="text/javascript">
$(document).ready(function(){
Swal.fire({
icon: "error",
title: "Gagal",
text: "Woops! Terjadi kesalahan.",
}).then((result) => {
if (result.isConfirmed) {
}
});
})
</script>';
}
?>
Nama : Arief Badrus Sholeh
NRP : 5025201228
Kelas : Pemrograman Web A
Tahun : 2022/2023

Komentar