Mengaktifkan dan Menonaktifkan Form Menggunakan PHP

Pada kesempatan ini saya akan menjawab sebuah pertanyaan dari salah seorang pembaca root93 yaitu bang Melky Qiano, dia bertanya tentang bagaimana mematikan sebuah form, berikut adalah pertanyaanya

“mas tolong ser coding php untuk mematikan form dulu,, soalnya gue dapat tugas dari dosen saya, sudah satu minggu saya mencari solusi di google tapi belum juga dapat codingnya,, jadi kali ini saya minta batuan dari mas, bisa tidak tolong beri solusinya pada saya,,,”

Sebelumnya terima kasih telah mengajukan pertanyaan dan beranggapan bahwa saya bisa mnyelesaikan masalah ini, Saya akan mencoba menjawab dan memberikan solusi sebisa saya.

Yang saya tangkap dari pertanyaan diatas mungkin adalah bagaimana mematikan, mengaktifkan, menonaktifkan, enable disable sebuah form/formulir komentar, pendaftaran atau form lainnya tanpa harus menghapus skrip yang sudah dibuat, jadi mungkin akan ada sebuah antar muka yang terdapat pada halaman administator yang bertugas untuk mengaktifkan atau menonaktifkan sebuah form. Kalau digambarkan secara sederhana mungkin seperti ini  prosessnya
alur

  1. Administrator akan menentukan/menyimpan sebuah nilai ke database dengan dua kondisi yaitu ‘yes’ dan ‘no’
  2. Selanjutnya lakukan percabangan dan perbandingan apakah status form diaktifkan oleh administator atau tidak, jika statusnya == yes maka panggil halaman kontak, namun jika statusnya == no maka tampilkan pesan bahwa form tidak aktip.

Kalau menurut pemikiran saya, kurang lebih sederhananya seperti itu, menggunakan operator perbandingan pada percabangan IF yang dibuat, jika nilai benar tampilkan form, jika nilai tidak sesuai maka jangan tampilkan.

Saya tidak akan menjelaskan secara mendetail dari awal, nanti bisa menggunakan salah satu contoh dari Aplikasi PPDB versi 2.2 yang sudah pernah saya buat, pada aplikasi tersebut terdapat sebuah form buku tamu yang akan digunakan sebagai percobaan tentang bagaimana mematikan dan mengaktifkan form dari halaman administator.

Agar lebih mudah dalam memahami serta mempraktikan teori ini, alangkah baiknya Anda download dulu Source code Aplikasi PPDB versi 2.2. Silahkan download di halaman Aplikasi PPDB (Penerimaan Peserta Didik Baru) Berbasis Web versi 2.2

Mengaktifkan dan Menonaktifkan Form Menggunakan PHP

Buat Database/tabel untuk menyimpan status form
  1. Buat Sebuah Database / Tabel Baru dengan dua nilai/kolom yaitu id dan formaktif, kemudian
  2. Isi datanya, misal id=1 dan formaktif=yes

Membuat Antar Muka Untuk Mengaktifkan dan Menonaktifkan Form

Pada halaman administator/folder root, buatlah dua buah file baru yaitu psb-form-control.php dan psb-form-control-proses.php
  1. Buat sebuah file untuk menampilkan antar muka agar administator bisa mengaktifkan dan menonaktifkan form buku tamu. Contoh file psb-form-control.php
    <?php
    include('system/conf/koneksi.php');
    
    $sql="SELECT * FROM tpdb_form";
    $perintah=mysqli_query($koneksi,$sql);
    $row=mysqli_fetch_array($perintah);
    ?>
    <!-- CEGAH BY PASS PERHALAMAN -->
    <?php
    
    
     
    if(!isset($_SESSION['admin'])){
        echo '<script language="javascript">alert
        ("Anda harus login dulu!");document.location="ssb-login.php?page=masuk";</script>';
    }
    
    ?>
    <div class="row">
                    <div class="col-lg-6">
                    <h2 class="page-header">Pengaturan Buku Tamu</h2>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                Atur aktif dan non aktif buku tamu
                            </div>
                            <!-- /.panel-heading -->
                            <div class="panel-body">
                          <form role="form" method="post" action="psb-form-control-proses.php">
    <div class="form-group">
    <input type="hidden" name="id" value="<?php echo "$row[id]"; ?>">
    </div>
    <div class="form-group">
    <label>Pengaturan Aktif/Tidak Buku Tamu</label>
    <select class="form-control" name="status_form" id="status_form" required="">
            <option><?php echo $row['formaktif'];?></option>
            <option>yes</option>
            <option>no</option>
    
      
            </select>
    </div>
     <button type="submit" class="btn btn-primary" name="simpan" id="simpan">Simpan</button>
     
    </form>
    </div>
    </div>
    </div>
    </div>
    
  2. Selanjutnya buat sebuah proses untuk mengeksekusi perintah dari psb-form-control.php lalu menyimpannya ke database. Contoh file psb-form-control-proses.php
    <?php
    
    include('system/conf/koneksi.php');
    include('system/conf/sesi.php');
    $form=true;
    if($_POST['status_form']=="") {
     echo"Data untuk status masih kosong";
    $form=false;
    }
    $cek=($form);
    if($cek==true){
    $id=$_POST['id'];
    $status=$_POST['status_form'];
    $perintah="UPDATE tpdb_form SET formaktif='$status' WHERE id='$id'";
    $query=mysqli_query($koneksi,$perintah);
    if(!$query) {
        echo "Akses Gagal<br/>";
        echo "ERROR:".mysqli_error();
        }else{     
       
       echo "<script>window.open('index.php?page=formcontrol','_self')</script>";
        }
    }
    
    ?>
    
  3. Buka file index.php yang ada di folder root, nanti tambahkan case berikut case'formcontrol':include"psb-form-control.php";break;
  4. Buka file nav-admin.php di root\system\inc lalu tambahkan menu untuk mengatur form/buku tamu seperti berikut <li> <a href="index.php?page=formcontrol">Buku Tamu</a> </li>

Mengatur Form, Membuat Percabangan dan Perbandingan

Pada halaman administator/folder MAINWEB, buatlah dua buah file baru yaitu formcontrol.php dan contact.php

  1. Buat sebuah file yang menampilkan halaman/form misal dengan nama formcontrol.php
    <?php include('home.php'); ?>
     <section id="kontak">
     <div class="container">
      <h3>Hubungi Kami</h3>
      <p>Bila ada kritik dan saran silahkan hubungi kami melalui kontak form yang terdapat di bawah ini</p>
     <form method="post" action="mainweb/contact-proses.php">
     <div class="row uniform">
     <div class="6u 12u(xsmall)"><input type="text" name="nama" id="nama" placeholder="Nama" /></div>
     
     <div class="6u 12u(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div></div>
    
     <div class="row uniform">
     <div class="12u"><input type="text" name="judul" id="judul" placeholder="judul" /></div></div>
     <div class="row uniform">
     <div class="12u"><textarea name="pesan" id="pesan" placeholder="pesan" rows="6"></textarea></div></div>
    <input type="hidden" name="tanggal" id="tanggal" value="<?php echo date("d-m-y h:i:s");?>" />
    <input type="hidden" name="ip" id="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" />
     <div class="row uniform">
     <div class="12u">
     <ul class="actions">
     <li><input type="submit" class="special" value="Kirim pesan" /></li>
     <li><input type="reset" value="Reset Form" /></li>
     </ul>
     </div>
     </div>
      </form>
     </div>
           </section>
  2. Buat sebuah file yang bertugas mengecek didatabase apakah status form aktif atau tidak, buat file misal dengan nama contact.php
    <?php
    include('kon-con.php');
    $perintah="SELECT * FROM tpdb_form"; //pilih tabelnya
    $jalankan=mysqli_query($koneksi,$perintah); //buat query
    $data=mysqli_fetch_array($jalankan); //buat varibel untuk memanggil nilai data
    $status="yes"; // simpan variabel untuk membandingkan
    if($data['formaktif']==$status){ //bandingkan nilai data yang di db dengan variabel aktif
     include('formcontrol.php'); //jika nilainya sama, panggil file
    }else{
     echo "<br/><br/>Form tidak aktif"; //jika berbeda munculkan pesan bahwa form tidak aktif
    }
    
    ?>

Bila berhasil, maka nanti kurang lebih hasilnya bisa dilihat pada video dibawah ini



2 Responses to "Mengaktifkan dan Menonaktifkan Form Menggunakan PHP"

  1. Mas, ser coding ttg ketika status aktif muncul tombol. terimakasih

    ReplyDelete
  2. Mas, kalo berdasarkan tanggal tertentu bagaimana ya? Misalkan setiap tanngal 16 form itu nonaktif. Terimakasih sebelumnya mas.

    ReplyDelete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin