Senin, 29 Maret 2021

OOP pada PHP


   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini adalah moment saya terakhir membagikan ilmu di dunia percodingan, yaitu contoh Studi Kasus OOP pada PHP. Mari kita lihat!

   Baik, pembahasan kali ini adalah pembahasan pembahasan terakhir dari seluruh praktikum, langsung kita mulai saja menuju codingannya.

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>Fadli Mahesa - XI RPL 3</title>
</head>

<body>

</body>

</html>
<?php 

    include 'Manusia.php';
    include 'HewanPeliharaan.php';

    $fadlee = new Manusia (); // Instansiasi Objek Manusia
    $hewan = new HewanPeliharaan();

    // Menentukan atribut objek tsb
    $fadlee->nama                = 'Fadli Mahesa';
    $fadlee->jenis_kelamin       = 'Fadli Mahesa';
    $fadlee->tanggal_lahir       = '09/08/2003';
    $fadlee->makanan             = 'Capcay';

    $hewan->nama2             = 'BINGUNGBRO';
    $hewan->jenis            = 'Kambing';

    echo $fadlee->bersuara();
    echo " ";
    echo $fadlee->usia();
    echo " ";
    echo $fadlee->jenis();
    echo "\n ";
    echo $hewan->bersuara2();
?>

KelompokMakan.php



<?php
class KelompokMakan
{
    public $makanan;
    public function jenis()
    {
        $makanan = $this->makanan;
        switch ($makanan) {
            case 'Capcay':
                return 'Omnivora';
                break;
            case 'Daging':
                return 'Karnivora';
                break;
            case 'Rumput':
                return 'Herbivora';
                break;
        }
    }
}

Manusia.php



<?php 
    include 'KelompokMakan.php';
    class Manusia extends KelompokMakan {

        public $jenis_kelamin;
        public $nama;
        public $tanggal_lahir;

        public function bersuara (){

            return $this->nama;

        }

        public function usia (){

            $date = date_create_from_format("d/m/Y", $this->tanggal_lahir);
            $tahunLahir = $date->format('Y');
            $tahunSekarang = date ('Y');
            $usia = $tahunSekarang - $tahunLahir;
            return $usia;

        }

    }

?>

HewanPeliharaan.php



<?php
class HewanPeliharaan
{
    public $nama2;
    public $jenis;

    public function bersuara2()
    {
        $jenis = $this->jenis;
        switch ($jenis) {
            case 'Kucing':
                return 'MEOOOONNGGGG!!';
                break;
            case 'Kambing':
                return 'HEMMMBEEEEEEEEE!';
                break;
        }
    }
}


Hasil :



Validasi Pada PHP


   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi, lagi, dan lagi sedikit ilmu di dunia percodingan, yaitu tentang Validasi pada PHP. Mari kita bahas!

   Baik, pembahasan kali ini adalah pembahasan lanjutan dari postingan sebelumnya, untuk source code lebih lengkap silahkan cek postingan sebelumnya atau pada github yang terterta di bawah.

   Untuk menambahkan fitur validasi kita perlu menambahkan beberapa syntax/codingan pada bagian source code kita.

Tambah code dibawah pada file v_tambah.php menjadi seperti contoh :



?php if(!empty($success)) { ?>
        <div class="alert alert-success">
            <p><?= $success ?></p>
        </div>
    <?php } ?>
    
    <?php if(!empty($error)) { ?>
        <div class="alert alert-danger">
            <p><?= $error ?></p>
        </div>
    <?php } ?>

   Baris kode diatas digunakan untuk menampilkan pesan sukses yang berasal dari variabel $success. Jika variabel tersebut tidak bernilai kosong, maka tampilkan isi dari variabel tersebut.

Tambahkan dan ubah code pada file tambah.php menjadi seperti contoh :



if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nis = @$_POST['nis']; // Tambahkan @ disetiap sebelum $
    $nama_lengkap = @$_POST['nama_lengkap'];
    $jenis_kelamin = @$_POST['jenis_kelamin'];
    $kelas = @$_POST['id_kelas'];
    $alamat = @$_POST['alamat'];
    $gol_darah = @$_POST['gol_darah'];
    $nama_ortu = @$_POST['nama_ortu'];
    $foto = @$_FILES['foto'];

    if(empty($nis)){ // Jika Nis Kosong
      flash('error','Mohon masukkan NIS');
    } else if (empty($nama_lengkap)) { //Jika nama lengkap kosong
      flash('error','Mohon masukkan Nama Lngkap');
    }
    else{
		// Seluruh input
    if (!empty($foto) && $foto['error'] == 0) {
        $path = './assets/images/';
        $upload = move_uploaded_file($foto['tmp_name'], $path . $foto['name']);
  
        if(!$upload){
          flash('error', "Upload file gagal");
          header('location:index.php');
        }
        $file = $foto['name'];
      }

    $sql = "INSERT INTO siswa (nis,nama_lengkap,jenis_kelamin,id_kelas,alamat,gol_darah,nama_ortu,file) 
            VALUES ('$nis','$nama_lengkap','$jenis_kelamin','$kelas','$alamat','$gol_darah','$nama_ortu','$file')";

    $mysqli->query($sql) or die($mysqli->error);

    header("location:index.php");
  }
}

$success = flash('success');
$error = flash('error');

   Baris kode if else pertama diatas digunakan untuk melakukan validasi apabila variabel $nis kosong, maka munculkan pesan error menggunakan function flash

Adapun penjelasan flownya seperti pada gambar dibawah :


Hasil :




Link Source Code Pada GITHUB

Jumat, 26 Maret 2021

Relasi 2 Tabel Pada PHP


   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi, lagi, dan lagi sedikit ilmu di dunia percodingan, yaitu tentang Relasi 2 Tabel pada PHP. Mari kita bahas!

   Baik, pembahasan kali ini adalah pembahasan lanjutan dari postingan sebelumnya, untuk source code lebih lengkap silahkan cek postingan sebelumnya atau pada github yang terterta di bawah.

   Untuk membuat relasi 2 tabel kita harus membuat tabel baru terlebih dahulu dengan nama kelas. Buat seperti contoh :



   Lalu kedua TRUNCATE tabel siswa yang sebelumnya sudah kita buat dan juga rename kelas menjadi id_kelas, lalu hapus bagian jurusan.




   Sekarang kita masuk kebagian codingannya.

Ubah code bagian mengambil data siswa pada file index.php menjadi seperti contoh :



$sql = 'SELECT * FROM siswa INNER JOIN kelas ON (siswa.id_kelas = kelas.id_kelas)';

   Sql untuk mengambil data siswa sebelumnya diubah dan direlasikan ke tabel kelas.

Ubah code bagian kelas pada data siswa di file v_index.php menjadi seperti contoh :



				<td><?= $siswa['nis']; ?></td>
                <td><?= $siswa['nama_lengkap']; ?></td>
                <td><?= $siswa['jenis_kelamin']; ?></td>
                <td><?= $siswa['nama_kelas']; ?></td> <!-- Ubah bagian ini -->
                <td><?= $siswa['jurusan']; ?></td>

   Maka yang akan ditampilkan bukanlah id kelasnya melainkan nama kelas yang sudah di input pada tabel kelas yang sudah dibuat sebelumnya.

Tambahkan syntax pada file tambah.php dan edit.php seperti contoh :



				// Ambil data kelas
$sql = "SELECT * FROM kelas";
$dataKelas = $mysqli->query($sql) or die($mysqli->error);

   Letakkan syntax tersebut tepat sebelum include v_tambah.php, dan syntax diatas berfungsi untuk mengambil data kelas.

Ubah syntax pada bagian pemilihan kelas di v_tambah.php seperti contoh :



				<select class="custom-select" id="inputGroupSelect01" name="id_kelas" required>
                <option value="id_kelas">
                    <?php while($murid = @$dataKelas -> fetch_array()) {?>
                        <option value="<?php echo $murid['id_kelas']?>" <?php echo @$siswa['kelas'] == $murid['id_kelas'] ? 'selected' : '' ?>> 
                            <?php echo $murid['nama_kelas'] ?>
                        </option>
                    <?php } ?>
                </option>
            </select>
            

   Syntax tersebut berguna untuk menampilkan pilihan kelas berdasarkan apa yang sudah diinput pada tabel siswa.

Ubah syntax pada bagian request method di tambah.php dan edit.php seperti contoh :



				if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nis = $_POST['nis'];
    $nama_lengkap = $_POST['nama_lengkap'];
    $jenis_kelamin = $_POST['jenis_kelamin'];
    $kelas = $_POST['id_kelas']; //Ubah bagian ini
    $foto = $_FILES['foto'];
            

   Untuk syntax ini pastinya kalian sudah taukan fungsinya.


Hasil :





Link Source Code Pada GITHUB

Rabu, 24 Maret 2021

Bootstrap pada PHP

   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi, lagi, dan lagi sedikit ilmu di dunia percodingan, yaitu tentang Bootstrap pada PHP. Mari kita bahas!

   Baik, pembahasan kali ini adalah pembahasan lanjutan dari postingan sebelumnya, untuk source code lebih lengkap silahkan cek postingan sebelumnya atau pada github yang terterta di bawah.

   Untuk menambahkan fitur Bootstrap kita harus menambahkan beberapa syntax/codingan pada source code kita, dan menambahkan file Bootstrap pada folder codingan kita.

   Pertama kita download terlebih dahulu file Bootstrap lalu menyimpannya di folder codingan kita. Untuk file bootstrapnya silahkan klik DISINI. Simpan dalam folder assests seperti ini :



   Lalu selanjutnya kita akan mulai menambahkan beberapa syntax/codingan pada source code kita.

Tambahkan syntax/codingan untuk memanggil Bootstrap CSS dan Js pada PHP letakkan codingan dibawah tepat diatas CSS awal di file v_index.php


<script type="text/javascript" src="assets/media/js/jquery.min.js"></script>
    <script type="text/javascript" src="assets/media/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="assets/media/plugins/toastr/toastr.min.js"></script>

    <link rel="stylesheet" href="assets/media/plugins/toastr/toastr.min.css">
    <link rel="stylesheet" href="assets/media/css/bootstrap.min.css">

   Selutuh codingan diatas digunakan untuk memanggil bootstrap yang sudah kita simpan di folder codingan kita.

Lalu ubah codingan pada bagian aksi edit dan delete dan tambahkan "btn-warning" dan "btnDelete" di file v_index.php seperti dibawah ini:



<a href="edit.php?nis=<?= $siswa["nis"]; ?>" class="btn badge primary btn-warning">Edit</a>
<a href="delete.php?nis=<?= $siswa["nis"]; ?>" class="btn badge danger btnDelete">Delete</a>

   class btnDelete digunakan untuk memanggil fitur yang akan tersambung pada codingan dibawah.

Selanjutnya tambahkan syntax/codingan dibawah untuk membuat fitur Bootstrap pada codingan kita di file v_index.php :



<div class="modal fade" tabindex=:"-1" role="dialog">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" arial-label="Close" ><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title"></h4>
          </div>
          <div class="modal-body">
          </div>

          <div class="modal-footer">
            <button type="button" class="btn btn-primary btnYa" name="button">Ya</button>
            <button type="button" class="btn btn-danger" data-dismiss="modal" name="button">Tidak</button>
          </div>
        </div>

      </div>

      <script type="text/javascript">
        console.log("ngetes");
            $(function() {
            $(".btnDelete").on("click", function(e) {
                e.preventDefault();
                var nama = $(this).parent().parent().children() [2];
                nama = $(nama).html();
                var tr = $(this).parent().parent();

                $(".modal").modal("show");
                $(".modal.title").html("Konfirmasi");
                $(".modal-body").html("Anda yakin ingin menghapus data <b>" + nama + "</b>?");

                var href = $(this).attr('href');

                $('.btnYa').off();
                $('.btnYa').on('click', function() {
                $.ajax({
                    'url' : href,
                    'type' : 'POST',
                    'success' : function(result) {
                    if(result == 1) {
                        $(".modal").modal("hide");
                        tr.fadeOut();
                        toastr.success("Data berhasil dihapus", "Informasi");
                    }
                    else {
                        $(".modal").modal("hide");
                        toastr.error("Data tidak bisa dihapus");
                    }
                    }
                })
                })
            })
            })
    </script>

   Simpan syntax/codingan diatas tepat sebelum tag </body>.

Terakhir ubah file delete.php menjadi :



<?php
include 'lib/library.php';
$nis = $_GET['nis'];

if (!empty($nis)) {
    $sql = "DELETE FROM siswa WHERE nis = $nis";
  
    if ($mysqli -> query($sql)) {
      echo 1;
    }
    else {
      echo 0;
    }
  }

   Hasil percabangan 1 dan 0 akan tersambung ke syntax/codingan script yang di tambahkan pada file v_index.php .


Hasil :




Link Source Code Pada GITHUB

Senin, 22 Maret 2021

Upload pada PHP

   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi dan lagi sedikit ilmu di dunia percodingan, yaitu tentang Upload pada PHP. Mari kita bahas!

   Baik, pembahasan kali ini adalah pembahasan lanjutan dari postingan sebelumnya, untuk source code lebih lengkap silahkan cek postingan sebelumnya atau pada github yang terterta di bawah.

   Untuk menambahkan fitur Upload kita harus menambahkan beberapa syntax/codingan pada source code kita, menambahkan kolom pada database yang sebelumnya telah kita buat, dan membuat folder path untuk tempat upload.

   Pertama - tama kita tambahkan kolom pada table yang telah kita buat di database sebelumnya, dengan contoh :


   Kedua kita akan membuat folder baru untuk penyimpanan upload, dengan contoh :



   Lalu selanjutnya kita akan mulai menambahkan beberapa syntax/codingan pada source code kita.

Buat file baru di folder views dengan nama v_form_siswa.php :


<form class="" action="<?php echo $url ?>" method="POST" enctype="multipart/form-data">
  <div class="">
    <label>NIS</label>
    <div class="">
      <input type="text" name="nis" value="<?php echo @$result->nis ?>">
    </div>
  </div>
</form>

   enctype="multipart/form-data" digunakan ketika form yang kita buat memiliki form upload.

Lalu selanjut kita tambahkan syntax/codingan pada file v_tambah.php tepat diatas tag button submit :


<div class="">
            <label>Foto</label>
            <br>
            <?php
            if ($action == "edit.php") {
            ?>
            <img width = "120" heigt = "160" src="<?php echo empty ($siswa ['file']) ?  'assets/images/ava1.png' : 'assets/images/' . $siswa ['file'] ?>" id="output">
            <input type="hidden" name="foto" value="<?= @$siswa['foto']; ?>">
            <?php } else { ?>
            <img src="assets/images/ava1.png" id="output" style="width:120px;height:160px;">
           <?php } ?>
           <input type="file" name="foto"> 
        </div>

   Pada form tersebut terdapat seleksi, jika form dalam kondisi edit, maka tampilan image yang sebelumnya sudah di upload namun jika belum ada foto maka akan menggunakan avatar default.

Selanjutnya kita tambahkan syntax/codingan pada file tambah.php dan edit.php tepat dibawah variabel $nama_ortu :


$file = $_POST['foto'];

    $foto = $_FILES['foto'];

    if (!empty($foto) && $foto['error'] == 0) {
      $path = './assets/images/';
      $upload = move_uploaded_file($foto['tmp_name'], $path . $foto['name']);

      if(!$upload){
        flash('error', "Upload file gagal");
        header('location:index.php');
      }
      $file = $foto['name'];
    }

   Isi path dengan folder yang sudah kita buat untuk penyimpanan file yang telah diupload.

Selanjutnya kita tambahkan syntax/codingan pada file v_index.php tepat dibawah tag td setalah bagian nama ortu :


<td>
                    <?php if (!empty($siswa['file'])) { ?>
                    <img src="<?= base_url(); ?>/assets/images/<?= $siswa['file']; ?>" width="90px";>
                    <?php } else { ?>
                    <img width="90" height="120" src="assets/images/ava1.png">
                    <?php } ?>
                </td>

   Syntax atau codingan ini digunakan untuk memunculkan kembali foto yang telah diupload, dan apabila belum meng-upload foto maka akan menggunakan avatar default.

Selanjutnya kita tambahkan syntax/codingan pada file edit.php pada bagian sqlnya :


 $sql = "UPDATE siswa SET
                nama_lengkap = '$nama_lengkap',
                jenis_kelamin = '$jenis_kelamin',
                kelas = '$kelas',
                jurusan = '$jurusan',
                alamat = '$alamat',
                gol_darah = '$gol_darah',
                nama_ortu = '$nama_ortu',
                file = '$file'
                 WHERE nis = '$nis';
            ";

   Tambahkan bagian file='$file' pada bagian sql di edit.php


Hasil :




Link Source Code Pada GITHUB

Sabtu, 20 Maret 2021

Searching & Ordering pada PHP

   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi dan lagi sedikit ilmu di dunia percodingan, yaitu tentang Contoh Searching & Ordering pada PHP. Mari kita bahas!

   Baik, pembahasan kali ini adalah pembahasan lanjutan dari postingan sebelumnya, untuk source code lebih lengkap silahkan cek postingan sebelumnya atau pada github yang terterta di bawah.

   Pertama untuk menambahkan fitur searching kita harus menambahkan beberapa syntax/codingan pada source code kita.

tambahkan Syntax ini pada file v_index.php letakan di atas tag table :


<form action="index.php" method="GET">
    Cari berdasarkan NIS atau nama
    <input type="text" name="search" value="<?= $search ?>">
    <button type="submit">Cari</button>
    </form>

   Untuk apa kita menambagkan condingan tersebut? nah syntax atau codingan diatas sendiri digunakan untuk membuat form yang aksinya akan mengarah ke index.php ketika form disubmit, maka akan mengirim data search atribut value yang digunakan untuk menampilkan kembali apa yang user telah input pada form search.

Setelah itu kita menuju file index.php lalu tambahkan Syntax ini di atas variabel $listSiswa :


 $search = @$_GET['search'];
  if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' OR jenis_kelamin LIKE '%$search' OR kelas LIKE '%$search%' OR jurusan LIKE '%$search%'";

   Syntax di atas digunakan untuk menangkap data nama "search" yang dikirim dari form pada file v_index.php dengan metode GET. Lalu, syntax lanjutannta jika variabel $search tidak kosong maka, tambahkan syntax SQL untuk mencari berdasarkan NIS atau Nama Lengkap.

   Selanjutnya kita membahas perihal menambahkan fitur ordering.

edit Syntax pada file v_index.php pada bagian thead menjadi seperti :


<thead>
           <tr>
                <th scope="col">NO</th>
                <th scope="col">NIS
                <a href="index.php?sort=nis&order=asc">▲</a>
                <a href="index.php?sort=nis&order=desc">▼</a>
                </th>
                <th scope="col">Nama Lengkap
                <a href="index.php?sort=nama_lengkap&order=asc">▲</a>
                <a href="index.php?sort=nama_lengkap&order=desc">▼</a>
                </th>
                <th scope="col">Gender
                <a href="index.php?sort=jenis_kelamin&order=asc">▲</a>
                <a href="index.php?sort=jenis_kelamin&order=desc">▼</a>
                </th>
                <th scope="col">Kelas
                <a href="index.php?sort=kelas&order=asc">▲</a>
                <a href="index.php?sort=kelas&order=desc">▼</a>
                </th>
                <th scope="col">Jurusan
                <a href="index.php?sort=jurusan&order=asc">▲</a>
                <a href="index.php?sort=jurusan&order=desc">▼</a>
                </th>
                <th scope="col">Alamat</th>
                <th scope="col">Gol Darah
                <a href="index.php?sort=gol_darah&order=asc">▲</a>
                <a href="index.php?sort=gol_darah&order=desc">▼</a>
                </th>
                <th scope="col">Nama Orang Tua</th>
                <th>Aksi</th>
            </tr>
        </thead>

Lalu tambahkan Syntax ini dan letakkan dibawah Syntax Searching tadi :


//SEARCHING
  $search = @$_GET['search'];
  if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' OR jenis_kelamin LIKE '%$search' OR kelas LIKE '%$search%' OR jurusan LIKE '%$search%'";

  //ORDERING
  $order_field = @$_GET['sort']; //Field yang akan di order
  $order_mode = @$_GET['order']; // Mode yang dipilih Ascending atau Descending
  if (!empty($order_field) && !empty($order_mode)) $sql .= " ORDER BY $order_field $order_mode";


Hasil :





Login & Authorization

   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi sedikit ilmu di dunia percodingan, yaitu tentang Contoh Login & Authorization pada PHP. Mari kita bahas!

   Karena materi kali ini merupakan lanjutan dari postingan sebelumnya, maka sebelum kita memasuki codingannya kita akan membuat tabel pada database yang sebelumnya sudah digunakan. Contoh tabelnya seperti ini :



Praktikum16/assets

Syntax ale.css :


body{
	margin:40px auto;max-width:650px;line-height:1.6;font-size:18px;color:#444;padding:0 10px
}
h1,h2,h3{
	line-height:1.2
}
a{
	text-decoration: none;
}
.centertext{
	text-align: center;
}


Praktikum16/lib

Syntax helper.php :


<?php
  session_start();

  function base_url(){
    return "http://localhost/Praktikum18";
  }

  function flash($tipe, $pesan = ''){
    if (empty($pesan))  {
      $pesan = @$_SESSION[$tipe];
      unset($_SESSION[$tipe]);
      return $pesan;
    } else {
      $_SESSION[$tipe] = $pesan;
    }
  }

  function cekLogin() {
    $username = @$_SESSION['username'];
    $level    = @$_SESSION['level'];

    if (empty($username) AND empty($level)) {
      header("location:login.php");
    }
  }

  function sudahLogin() {
    $username = @$_SESSION['username'];
    $level    = @$_SESSION['level'];

    if (!empty($username) AND !empty($level)) {
      header("location:index.php");
    }
  }
?>

Syntax library.php :


<?php
  include'lib/helper.php';

  $host = 'localhost';
  $user = 'root';
  $pass = '';
  $db = 'db_pwpb21';

  $mysqli = mysqli_connect($host, $user, $pass, $db) or die('Tidak dapat Koneksi ke database');
?>


Praktikum16/views

Syntax v_index.php :


<!DOCTYPE html>
<html>
<head>
    <title>Praktikum 16, By Fadli Mahesa XI RPL 3</title>
    <link rel="stylesheet" type="text/css" href="assets/ale.css">
</head>
<body>
    <h1 class="centertext">Database Siswa</h1>
    <h2>Data yang ada</h2>
    <table border="1">
        <thread>
           <tr>
                <th scope="col">#</th>
                <th scope="col">Nis</th>
                <th scope="col">Nama Lengkap</th>
                <th scope="col">Gender</th>
                <th scope="col">Kelas</th>
                <th scope="col">Jurusan</th>
                <th scope="col">Alamat</th>
                <th scope="col">Gol Darah</th>
                <th scope="col">Nama Orang Tua</th>
            </tr>
        </thread>
        <tbody>
            <?php
                $i = 1;
                while ($siswa = $listSiswa->fetch_array()) {
            ?>
            <tr>
                <th scope="row"><?= $i++; ?></th>
                <td><?= $siswa['nis']; ?></td>
                <td><?= $siswa['nama_lengkap']; ?></td>
                <td><?= $siswa['jenis_kelamin']; ?></td>
                <td><?= $siswa['kelas']; ?></td>
                <td><?= $siswa['jurusan']; ?></td>
                <td><?= $siswa['alamat']; ?></td>
                <td><?= $siswa['gol_darah']; ?></td>
                <td><?= $siswa['nama_ortu']; ?></td>
                <td>
                    <a href="edit.php?nis=<?= $siswa["nis"]; ?>" class="badge badge-primary">Edit</a>
                    <a href="delete.php?nis=<?= $siswa["nis"]; ?>" class="badge badge-danger" onclick="return confirm('Apakah anda yakin ingin menghapus data tersebut ?')">Delete</a></td>
            </tr>
            <?php } ?>
        </tbody>
    </table>
    <br>
    <h2>Aksi yang bisa dilakukan</h2>
    <a href="tambah.php">Tambah Data</a>
    <a href="logout.php">Logout</a>
</body>
</html>

Syntax v_login.php :


<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>PWPB Praktikum 16, By Fadli Mahesa</title>
    <style type="text/css">
      body{
        margin:40px auto;
        max-width:650px;
        line-height:1.6;
        font-size:18px;
        color:#444;
        padding:0
        10px}
      h1,h2,h3{
        line-height:1.2}
    </style>
</head>
  <body>
    <h1>
      Login
    </h1>
    <form class="form-horizontal" action="login.php" method="POST">
      <div class="form-group">
        <label>Username</label>
        <div class="">
          <input type="text" name="username" value="">
        </div>
      </div>

      <div class="from-group">
        <label>Password</label>
        <div class="">
          <input type="password" name="password" value="">
        </div>
      </div>

      <div class="form-group">
        <label></label>
        <div class="">
          <button type="submit">Login</button>
        </div>
      </div>

    </form>
  </body>
</html>

Syntax v_tambah.php :


<!DOCTYPE html>
<html>
<head>
    <title>Praktikum 16, By Fadli Mahesa</title>
    <link rel="stylesheet" type="text/css" href="assets/ale.css">
</head>
<body>
    <?php
        $action = 'tambah.php';
        if (!empty($siswa)) $action = 'edit.php'
    ?>
    <form method="POST" action="<?= $action ?>">
        <div>
            <div >
                <span>NIS</span>
            </div>
            <input type="text" placeholder="Masukkan Nomor induk siswa" name="nis" value="<?= @$siswa['nis'] ?>" required>
        </div>
        <div>
            <div>
                <span>Nama Lengkap</span>
            </div>
            <input type="text" placeholder="Masukkan Nama Lengkap" name="nama_lengkap" value="<?= @$siswa['nama_lengkap'] ?>" required>
        </div>
        <div>
            <label>
            <h5>Jenis Kelamin :</h5>
                <input type="radio" name="jenis_kelamin" value="L" <?= @$siswa['jenis_kelamin'] == 'L' ? 'checked' : '' ?> required> Laki-laki
            </label>
            <label>
                <input type="radio" name="jenis_kelamin" value="P" <?= @$siswa['jenis_kelamin'] == 'P' ? 'checked' : '' ?>> Perempuan
            </label>
        </div>
        <div>
            <div>
                <label>Kelas</label>
            </div>
            <select class="custom-select" id="inputGroupSelect01" name="kelas" required>
                <option value="XI MM" <?= @$siswa['kelas'] == 'XI MM' ? 'selected' : '' ?>>XI MM</option>
                <option value="XI RPL 1" <?= @$siswa['kelas'] == 'XI RPL 1' ? 'selected' : '' ?>>XI RPL 1</option>
                <option value="XI RPL 2" <?= @$siswa['kelas'] == 'XI RPL 2' ? 'selected' : '' ?>>XI RPL 2</option>
                <option value="XI RPL 3" <?= @$siswa['kelas'] == 'XI RPL 3' ? 'selected' : '' ?>>XI RPL 3</option>
                <option value="XI TKJ 1" <?= @$siswa['kelas'] == 'XI TKJ 1' ? 'selected' : '' ?>>XI TKJ 1</option>
                <option value="XI TKJ 2" <?= @$siswa['kelas'] == 'XI TKJ 2' ? 'selected' : '' ?>>XI TKJ 2</option>
                <option value="XI TOI 1" <?= @$siswa['kelas'] == 'XI TOI 1' ? 'selected' : '' ?>>XI TOI 1</option>
                <option value="XI TOI 2" <?= @$siswa['kelas'] == 'XI TOI 2' ? 'selected' : '' ?>>XI TOI 2</option>
                <option value="XI TITL 1" <?= @$siswa['kelas'] == 'XI TITL 1' ? 'selected' : '' ?>>XI TITL 1</option>
                <option value="XI TITL 2" <?= @$siswa['kelas'] == 'XI TITL 2' ? 'selected' : '' ?>>XI TITL 2</option>
                <option value="XI AVI 1" <?= @$siswa['kelas'] == 'XI AVI 1' ? 'selected' : '' ?>>XI AVI 1</option>
                <option value="XI AVI 2" <?= @$siswa['kelas'] == 'XI AVI 2' ? 'selected' : '' ?>>XI AVI 2</option>
                <option value="XI AVI 3" <?= @$siswa['kelas'] == 'XI AVI 3' ? 'selected' : '' ?>>XI AVI 3</option>
                <option value="XI AVI 4" <?= @$siswa['kelas'] == 'XI AVI 4' ? 'selected' : '' ?>>XI AVI 4</option>
            </select>
        </div>
        <div>
            <div>
                <span>Jurusan</span>
            </div>
                <input type="text" placeholder="Masukkan Jurusan anda" name="jurusan" value="<?= @$siswa['jurusan']; ?>" required>
        </div>
        <div>
            <div>
                <span>Alamat</span>
            </div>
            <input type="text" placeholder="Masukkan Alamat Rumah" name="alamat" value="<?= @$siswa['alamat'] ?>" required>
        </div>
        <div>
            <div>
                <label>Golongan Darah</label>
            </div>
            <select name="gol_darah" required>
                <option value="A" <?= @$siswa['gol_darah'] == 'A' ? 'selected' : '' ?>>A</option>
                <option value="B" <?= @$siswa['gol_darah'] == 'B' ? 'selected' : '' ?>>B</option>
                <option value="AB" <?= @$siswa['gol_darah'] == 'AB' ? 'selected' : '' ?>>AB</option>
                <option value="O" <?= @$siswa['gol_darah'] == 'O' ? 'selected' : '' ?>>O</option>
            </select>
        </div>
        <div>
            <div>
                <span>Nama Orang Tua</span>
            </div>
                <input type="text" placeholder="Masukkan Nama Orang Tua Anda" name="nama_ortu" value="<?= @$siswa['nama_ortu']; ?>" required>
        </div>
        <button type="submit" value="Simpan">Simpan</button>
    </form>
    <a href="index.php">Kembali ke data</a>
    <script>
        const del = document.querySelector(".del");
        const overwrite = document.createElement("input");
        const inp = document.querySelector(".inp");
        if (del.value != '') {
            del.setAttribute("type", "hidden");
            overwrite.setAttribute("type", "text");
            overwrite.setAttribute("class", "form-control");
            overwrite.setAttribute("value", "<?= $siswa["nis"]; ?>");
            overwrite.setAttribute("disabled", "");
            inp.appendChild(overwrite);
        }
    </script>
</body>
</html>


Praktikum16/

Syntax delete.php :


<?php
include 'lib/library.php';
$nis = $_GET['nis'];

$sql = "DELETE FROM siswa WHERE nis = $nis";

$mysqli->query($sql) or die($mysqli->error);

header('location: index.php'); ?>

Syntax edit.php :


<?php

include 'lib/library.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nis = $_POST['nis'];
    $nama_lengkap = $_POST['nama_lengkap'];
    $jenis_kelamin = $_POST['jenis_kelamin'];
    $kelas = $_POST['kelas'];
    $jurusan = $_POST['jurusan'];
    $alamat = $_POST['alamat'];
    $gol_darah = $_POST['gol_darah'];
    $nama_ortu = $_POST['nama_ortu'];

    $sql = "UPDATE siswa SET
                nama_lengkap = '$nama_lengkap',
                jenis_kelamin = '$jenis_kelamin',
                kelas = '$kelas',
                jurusan = '$jurusan',
                alamat = '$alamat',
                gol_darah = '$gol_darah',
                nama_ortu = '$nama_ortu'
            WHERE nis = $nis;
            ";

    $mysqli->query($sql) or die($mysqli->error);

    header('location: index.php');
}

$nis = $_GET['nis'];

if (empty($nis)) header('location: index.php');

$sql = "SELECT * FROM siswa WHERE nis = '$nis'";
$query = $mysqli->query($sql);
$siswa = $query->fetch_array();

if (empty($siswa)) header('location: index.php');

include 'views/v_tambah.php';
?>

Syntax index.php :


<?php
  include 'lib/library.php';

  cekLogin();

  $sql = 'SELECT * FROM siswa';

  $listSiswa = $mysqli ->query($sql);

  include 'views/v_index.php';
?>

Syntax login.php :


<?php
  include 'lib/library.php';

  sudahLogin();

  if ($_SERVER['REQUEST_METHOD'] == "POST"){
    $username = $_POST['username'];
    $password = $_POST['password'];

    $sql = "SELECT * FROM t_login
            WHERE username = '$username'
            AND password = SHA1('$password')";

    $data = $mysqli->query($sql) or die($mysqli->error);

    if ($data->num_rows != 0) {
      $row = mysqli_fetch_object($data);
      $_SESSION['username'] = $row->username;
      $_SESSION['level']    = $row->level;
      header('location:index.php');
    } else {
      $error = "Username atau password salah";
    }
  }

  include 'views/v_login.php';
 ?>

Syntax logout.php :


<?php
  session_start();
  session_destroy();
  header('location:index.php')
?>

Syntax tambah.php :


<?php
include 'lib/library.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nis = $_POST['nis'];
    $nama_lengkap = $_POST['nama_lengkap'];
    $jenis_kelamin = $_POST['jenis_kelamin'];
    $kelas = $_POST['kelas'];
    $jurusan = $_POST['jurusan'];
    $alamat = $_POST['alamat'];
    $gol_darah = $_POST['gol_darah'];
    $nama_ortu = $_POST['nama_ortu'];

    $sql = "INSERT INTO siswa (nis,nama_lengkap,jenis_kelamin,kelas,jurusan,alamat,gol_darah,nama_ortu) 
            VALUES ('$nis','$nama_lengkap','$jenis_kelamin','$kelas','$jurusan','$alamat','$gol_darah','$nama_ortu')";

    $mysqli->query($sql) or die($mysqli->error);

    header("location:index.php");
}

include 'views/v_tambah.php';
?>

Hasil :








Minggu, 14 Februari 2021

Edit Data pada PHP

   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi sedikit ilmu di dunia percodingan, yaitu tentang Contoh Edit Data pada PHP. Mari kita bahas!


Syntax library.php :


<?php
session_start();

$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'db_pwpb21';

$mysqli = mysqli_connect($host, $user, $pass, $db) or die('Tidak dapat Koneksi ke database');
?>

Syntax v_index.php :


<!DOCTYPE html>
<html>
<head>
    <title>PWPB Praktikum 16, By Fadli Mahesa</title>
    <link rel="stylesheet" type="text/css" href="assets/ale.css">
</head>
<body>
    <h1 class="centertext">Database Siswa</h1>
    <h2>Data yang ada</h2>
    <table border="1">
        <thread>
            <tr>
                <th scope="col">#</th>
                <th scope="col">Nis</th>
                <th scope="col">Nama Lengkap</th>
                <th scope="col">Gender</th>
                <th scope="col">Kelas</th>
                <th scope="col">Jurusan</th>
                <th scope="col">Alamat</th>
                <th scope="col">Gol Darah</th>
                <th scope="col">Nama Orang Tua</th>
            </tr>
        </thread>
        <tbody>
            <?php
                $i = 1;
                while ($siswa = $listSiswa->fetch_array()) {
            ?>
            <tr>
                <th scope="row"><?= $i++; ?></th>
                <td><?= $siswa['nis']; ?></td>
                <td><?= $siswa['nama_lengkap']; ?></td>
                <td><?= $siswa['jenis_kelamin']; ?></td>
                <td><?= $siswa['kelas']; ?></td>
                <td><?= $siswa['jurusan']; ?></td>
                <td><?= $siswa['alamat']; ?></td>
                <td><?= $siswa['gol_darah']; ?></td>
                <td><?= $siswa['nama_ortu']; ?></td>
                <td>
                    <a href="edit.php?nis=<?= $siswa["nis"]; ?>" class="badge badge-primary">Edit</a>
                    <a href="delete.php?nis=<?= $siswa["nis"]; ?>" class="badge badge-danger" onclick="return confirm('Apakah anda yakin ingin menghapus data tersebut ?')">Delete</a></td>
            </tr>
            <?php } ?>
        </tbody>
    </table>
    <br>
    <h2>Aksi yang bisa dilakukan</h2>
    <a href="tambah.php">Tambah Data</a>
</body>
</html>

Syntax v_tambah.php :


<!DOCTYPE html>
<html>
<head>
    <title>Praktikum 16, By Fadli Mahesa</title>
    <link rel="stylesheet" type="text/css" href="assets/ale.css">
</head>
<body>
    <?php
        $action = '$tambah.php';
        if (!empty($siswa)) $action = 'edit.php'
    ?>
    <form method="POST" action="<?= $action ?>">
        <div>
            <div >
                <span>Nis</span>
            </div>
            <input type="text" placeholder="Masukkan Nomor induk siswa" name="nis" value="<?= @$siswa['nis'] ?>" required>
        </div>
        <div>
            <div>
                <span>Nama Lengkap</span>
            </div>
            <input type="text" placeholder="Masukkan Nama Lengkap" name="nama_lengkap" value="<?= @$siswa['nama_lengkap'] ?>" required>
        </div>
        <div>
            <label>
            <h5>Jenis Kelamin :</h5>
            <input type="radio" name="jenis_kelamin" value="L" <?= @$siswa['jenis_kelamin'] == 'L' ? 'checked' : '' ?> required> Laki-laki
            </label>
            <label>
                <input type="radio" name="jenis_kelamin" value="P" <?= @$siswa['jenis_kelamin'] == 'P' ? 'checked' : '' ?>> Perempuan
            </label>
        </div>
        <div>
            <div>
                <label>Kelas</label>
            </div>
            <select class="custom-select" id="inputGroupSelect01" name="kelas" required>
                <option value="XI MM" <?= @$siswa['kelas'] == 'XI MM' ? 'selected' : '' ?>>XI MM</option>
                <option value="XI RPL 1" <?= @$siswa['kelas'] == 'XI RPL 1' ? 'selected' : '' ?>>XI RPL 1</option>
                <option value="XI RPL 2" <?= @$siswa['kelas'] == 'XI RPL 2' ? 'selected' : '' ?>>XI RPL 2</option>
                <option value="XI RPL 3" <?= @$siswa['kelas'] == 'XI RPL 3' ? 'selected' : '' ?>>XI RPL 3</option>
                <option value="XI TKJ 1" <?= @$siswa['kelas'] == 'XI TKJ 1' ? 'selected' : '' ?>>XI TKJ 1</option>
                <option value="XI TKJ 2" <?= @$siswa['kelas'] == 'XI TKJ 2' ? 'selected' : '' ?>>XI TKJ 2</option>
                <option value="XI TOI 1" <?= @$siswa['kelas'] == 'XI TOI 1' ? 'selected' : '' ?>>XI TOI 1</option>
                <option value="XI TOI 2" <?= @$siswa['kelas'] == 'XI TOI 2' ? 'selected' : '' ?>>XI TOI 2</option>
                <option value="XI TITL 1" <?= @$siswa['kelas'] == 'XI TITL 1' ? 'selected' : '' ?>>XI TITL 1</option>
                <option value="XI TITL 2" <?= @$siswa['kelas'] == 'XI TITL 2' ? 'selected' : '' ?>>XI TITL 2</option>
                <option value="XI AVI 1" <?= @$siswa['kelas'] == 'XI AVI 1' ? 'selected' : '' ?>>XI AVI 1</option>
                <option value="XI AVI 2" <?= @$siswa['kelas'] == 'XI AVI 2' ? 'selected' : '' ?>>XI AVI 2</option>
                <option value="XI AVI 3" <?= @$siswa['kelas'] == 'XI AVI 3' ? 'selected' : '' ?>>XI AVI 3</option>
                <option value="XI AVI 4" <?= @$siswa['kelas'] == 'XI AVI 4' ? 'selected' : '' ?>>XI AVI 4</option>
            </select>
        </div>
        <div>
            <div>
                <span>Jurusan</span>
            </div>
                <input type="text" placeholder="Masukkan Jurusan anda" name="jurusan" value="<?= @$siswa['jurusan']; ?>" required>
        </div>
        <div>
            <div>
                <span>Alamat</span>
            </div>
            <input type="text" placeholder="Masukkan Alamat Rumah" name="alamat" value="<?= @$siswa['alamat'] ?>" required>
        </div>
        <div>
            <div>
                <label>Golongan Darah</label>
            </div>
            <select name="gol_darah" required>
                <option value="A" <?= @$siswa['gol_darah'] == 'A' ? 'selected' : '' ?>>A</option>
                <option value="B" <?= @$siswa['gol_darah'] == 'B' ? 'selected' : '' ?>>B</option>
                <option value="AB" <?= @$siswa['gol_darah'] == 'AB' ? 'selected' : '' ?>>AB</option>
                <option value="O" <?= @$siswa['gol_darah'] == 'O' ? 'selected' : '' ?>>O</option>
            </select>
        </div>
        <div>
            <div>
                <span>Nama Orang Tua</span>
            </div>
                <input type="text" placeholder="Masukkan Nama Orang Tua Anda" name="nama_ortu" value="<?= @$siswa['nama_ortu']; ?>" required>
        </div>
        <button type="submit" value="Simpan">Simpan</button>
    </form>
    <a href="index.php">Kembali ke data</a>
    <script>
        const del = document.querySelector(".del");
        const overwrite = document.createElement("input");
        const inp = document.querySelector(".inp");
        if (del.value != '') {
            del.setAttribute("type", "hidden");
            overwrite.setAttribute("type", "text");
            overwrite.setAttribute("class", "form-control");
            overwrite.setAttribute("value", "<?= $siswa["nis"]; ?>");
            overwrite.setAttribute("disabled", "");
            inp.appendChild(overwrite);
        }
    </script>
</body>
</html>

Syntax index.php :


<?php
include 'lib/library.php';

$sql = 'SELECT * FROM siswa';
$listSiswa = $mysqli ->query($sql);

include 'views/v_index.php';
?>

Syntax tambah.php :


<?php
include 'lib/library.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nis = $_POST['nis'];
    $nama_lengkap = $_POST['nama_lengkap'];
    $jenis_kelamin = $_POST['jenis_kelamin'];
    $kelas = $_POST['kelas'];
    $jurusan = $_POST['jurusan'];
    $alamat = $_POST['alamat'];
    $gol_darah = $_POST['gol_darah'];
    $nama_ortu = $_POST['nama_ortu'];

    $sql = "INSERT INTO siswa (nis,nama_lengkap,jenis_kelamin,kelas,jurusan,alamat,gol_darah,nama_ortu) VALUES ('$nis','$nama_lengkap','$jenis_kelamin','$kelas','$jurusan','$alamat','$golongan_darah','$ibu_kandung')";

    $mysqli->query($sql) or die($mysqli->error);

    header("location:index.php");
}

include 'views/v_tambah.php';
?>

Syntax edit.php :


<?php

include 'lib/library.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nis = $_POST['nis'];
    $nama_lengkap = $_POST['nama_lengkap'];
    $jenis_kelamin = $_POST['jenis_kelamin'];
    $kelas = $_POST['kelas'];
    $jurusan = $_POST['jurusan'];
    $alamat = $_POST['alamat'];
    $gol_darah = $_POST['gol_darah'];
    $nama_ortu = $_POST['nama_ortu'];

    $sql = "UPDATE siswa SET
                nama_lengkap = '$nama_lengkap',
                jenis_kelamin = '$jenis_kelamin',
                kelas = '$kelas',
                jurusan = '$jurusan',
                alamat = '$alamat',
                gol_darah = '$gol_darah',
                nama_ortu = '$nama_ortu'
            WHERE nis = $nis;
            ";

    $mysqli->query($sql) or die($mysqli->error);

    header('location: index.php');
}

$nis = $_GET['nis'];

if (empty($nis)) header('location: index.php');

$sql = "SELECT * FROM siswa WHERE nis = '$nis'";
$query = $mysqli->query($sql);
$siswa = $query->fetch_array();

if (empty($siswa)) header('location: index.php');

include 'views/v_tambah.php';
?>

Syntax delete.php :


<?php
include 'lib/library.php';
$nis = $_GET['nis'];

$sql = "DELETE FROM siswa WHERE nis = $nis";

$mysqli->query($sql) or die($mysqli->error);

header('location: index.php');
?>

Hasil :