Pengertian Teknik Informatika

Penjelasan tentang jurusan Teknik Informatika secara umum.

Apa yang Dipelajari di Teknik Informatika?

Penjelasan tentang apa saja yang dipelajari dijurusan Teknik Informatika dan prospek kerja setelah lulus.

Politeknik Harapan Bersama Tegal

Penjelasan tentang Politeknik Harapan Bersama Tegal meliputi Visi dan Misi serta Program Studi.

Senin, 24 September 2018

Validasi pada CRUD PHP

CRUD adalah komponen utama dalah sebuah sistem. Salah satunya adalah sistem yang berbasis PHP sebagai Bahasa pemrograman. CRUD melibatkan form yang diisi data. Untuk menghindari pengisian data yang tidak tepat atau kosong, diperlukan validasi. Validasi adalah metode penyaringan value dari form yang diisi. Misalkan, untuk mengisikan nama, tidak boleh mengandung angka. Validasi yang paling umum dipakai adalah setting untuk mencegah data kosong. 





















  

Berikut adalah langkah-langkah membuat CRUD dengan validasi menggunakan PHP. Untuk layout, disini menggunakan template yang tersedia diinternet.


Validasi diletakan di halaman form input dan form update. Validasi yang diterapkan pada form ini menyesuaikan.

  • Pada kolom nama tidak boleh mengandung karakter lain selain alfabet, spasi dan tidak boleh kosong. 
  • Pada kolom username tidak boleh mengandung karakter lain selain alfabet, pada kolom ini juga tidak boleh mengandung spasi dan tidak boleh kosong.
  • Pada kolom password tidak boleh kurang dari 8 digit dan tidak boleh kosong.
  • Pada kolom email harus menggunakan format email yang benar dan tidak boleh kosong.
Hal yang dibutuhkan
  •  Text editor
  •  Webserver
  • Browser

1. Membuat Database
    Buat database seperti berikut:
 
2. Buat folder untuk projek CRUD tersebut, yang isinya
  • older asset (file untuk mendukung layout, opsional) 
  • folder pages
  • file config 
  • file index
3. Membuat file config.php
    File ini berisi konfigurasi untuk mengakses database

<?php
  $db_host   = "localhost";
  $db_user   = "root";
  $db_passwd = "";
  $db_name   = "quiz1";
  $conn       = mysqli_connect($db_host, $db_user, $db_passwd, $db_name) or die(
              "koneksi ke database gagal!");
 ?>

4. Membuat file index.php
File ini berisi halaman utama yang berfungsi untuk memanggil data yang diinputkan ke database.


<div class="row">
            <div class="col-lg-12 grid-margin">
              <div class="card">
                <div class="card-body">
                  <h4 class="card-title">Data</h4>
                  <div class="table-responsive">
                    <table class="table table-bordered">
                      <thead>
                        <tr>
                          <th>
                            #
                          </th>
                          <th>
                            Nama
                          </th>
                          <th>
                            Username
                          </th>
                          <th>
                            Password
                          </th>
                          <th>
                            Email
                          </th>
                          <th>
                            Aksi
                          </th>
                        </tr>
                      </thead>
                      <tbody>
                        <?php
                          include('config.php');

                          $query = mysqli_query($conn, "SELECT * from data_user ORDER BY
                            id DESC") or die (mysqli_error($conn));
                            if(mysqli_num_rows($query) == 0 ){
                              echo '<tr><td>Tidak ada data</td></tr>';
                            }
                            else{
                              $no = 1;
                              while($data = mysqli_fetch_assoc($query)){
                         ?>
                        <tr>
                          <td><?php echo $no; ?></td>
                          <td><?php echo $data['nama'] ?></td>
                          <td><?php echo $data['username'] ?></td>
                          <td><?php echo $data['password'] ?></td>
                          <td><?php echo $data['email'] ?></td>
                          <td>
                            <a href="pages/edit_user.php?id=<?php echo $data['id'];?>">
                              <button type="button" class="btn btn-danger btn-sm">
                                <i class="mdi mdi-pencil-box"></i>Edit</button>
                            </a>
                            <a href="pages/hapus_user.php?id=<?php echo $data['id'];?>">
                              <button type="button" class="btn btn-warning btn-sm">
                                <i class="mdi mdi-delete"></i>Hapus</button>
                            </a>
                          </td>
                        </tr>
                                <?php
                                $no++;
                              }
                            } ?>
                      </tbody>
                    </table>
                  </div>
                </div>
              </div>
            </div>
          </div>
 
 
 Didalam folder pages terdapat file yang akan dibuat dibawah ini.


5. Buat file add_user.php
File ini berfungsi untuk menampilkan form yang digunakan untuk mengisi data
<?php
  $nama = "";     $namaKsg = "";   $namaVld = true;  $namaVldMsg = "";
  $username = ""; $unameKsg = "";  $unameVld = true; $unameVldMsg = "";
  $password = ""; $passwdKsg = ""; $passVld = true;  $passVldMsg = "";
  $email = "";    $emailKsg = "";  $emailVld = true; $emailVldMsg = "";

  if(isset($_POST['submit'])){
    $nama = trim($_POST['nama']);
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    $passMD5 = md5($password);
    $email = trim($_POST['email']);

    if(empty($nama)){
      $namaKsg = "Nama masih kosong. <br>";
    }
    if(empty($username)){
      $unameKsg = "Username masih kosong. <br>";
    }
    if(empty($password)){
      $passwdKsg = "Password masih kosong. <br>";
    }
    if(empty($email)){
      $emailKsg = "Email Masih Kosong. <br>";
    }
    if(!preg_match("/^[a-zA-Z ]*$/", $nama)){
      $namaVld = false;
      $namaVldMsg = "Tidak boleh ditulis selain huruf! <br>";
    }
    if(!preg_match("/^[a-zA-Z]*$/", $username)){
      $unameVld = false;
      $unameVldMsg = "Hanya diisi huruf tanpa spasi <br>";
    }
    if(strlen($password) < 8){
      $passVld = false;
      $passVldMsg = "Password minimal 8. <br>";
    }
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
      $emailVld = false;
      $emailVldMsg = "Format email salah! <br>";
    }

    if(!empty($nama) and !empty($username) and !empty($password) and !empty($email)
    and $namaVld and $passVld and $emailVld and $unameVld){
      include('../config.php');
      $input = mysqli_query($conn, "INSERT INTO data_user(nama, username, password,
        email) VALUES ('$nama', '$username', '$passMD5', '$email')") or die(mysqli_error($conn));
    }
  }
 ?>
          <div class="col-md-6 d-flex align-items-stretch grid-margin">
            <div class="row flex-grow">
              <div class="col-12">
                <div class="card">
                  <div class="card-body">
                    <h2 class="card-title"><strong>Tambah Data</strong></h2>
                    <form action="add_user.php" method="post" class="forms-sample">
                      <div class="form-group">
                        <label for="exampleInputName">Nama</label>
                        <input type="text" class="form-control" name="nama" id="exampleInputName" placeholder="Nama">
                        <span style="font-size: 13px; color: RED;"><?php echo $namaKsg.$namaVldMsg; ?></span>
                      </div>
                      <div class="form-group">
                        <label for="exampleInputUsername">Username</label>
                        <input type="text" class="form-control" name="username" id="exampleInputUserame" placeholder="Username">
                        <span style="font-size: 13px; color: RED;"><?php echo $unameKsg.$unameVldMsg ?></span>
                      </div>
                      <div class="form-group">
                        <label for="exampleInputPassword1">Password</label>
                        <input type="password" class="form-control" name="password" id="exampleInputPassword1" placeholder="Password">
                        <span style="font-size: 13px; color: RED;"><?php echo $passwdKsg.$passVldMsg ?></span>
                      </div>
                      <div class="form-group">
                        <label for="exampleInputEmail1">Email address</label>
                        <input type="email" class="form-control" name="email" id="exampleInputEmail1" placeholder="Enter email">
                        <span style="font-size: 13px; color: RED;"><?php echo $emailKsg.$emailVldMsg ?></span>
                      </div>
                      <button type="submit" name="submit" class="btn btn-success mr-2">Submit</button>
                    </form>
                  </div>
                </div>
              </div>
            </div>
          </div>
 6. Buat file edit_user.php
File ini berfungsi berisi form yang digunakan untuk mengedit data
<?php
  include('../config.php');
  $id = isset($_GET['id']) ? $_GET['id'] : '';
  $show = mysqli_query($conn, "SELECT * from data_user where id='$id'");
  if(mysqli_num_rows($show) == 0){
    '<p>Tidak ada data yang ditampilkan</p>';
  }
  else{
    $data = mysqli_fetch_assoc($show);
  }
  $nama = "";     $namaKsg = "";   $namaVld = true;  $namaVldMsg = "";
  $username = ""; $unameKsg = "";  $unameVld = true; $unameVldMsg = "";
  $password = ""; $passwdKsg = ""; $passVld = true;  $passVldMsg = "";
  $email = "";    $emailKsg = "";  $emailVld = true; $emailVldMsg = "";
 ?>
          <div class="col-md-6 d-flex align-items-stretch grid-margin">
            <div class="row flex-grow">
              <div class="col-12">
                <div class="card">
                  <div class="card-body">
                    <h2 class="card-title"><strong>Tambah Data</strong></h2>
                    <form action="" method="post" class="forms-sample">
                      <input type="hidden" name="id" value="<?php echo $id; ?>">
                      <div class="form-group">
                        <label for="exampleInputName">Nama</label>
                        <input type="text" class="form-control" name="nama" id="exampleInputName" placeholder="Nama" value="<?php echo $data['nama'] ?>">
                        <span style="font-size: 13px; color: RED;"><?php echo $namaKsg.$namaVldMsg; ?></span>
                      </div>
                      <div class="form-group">
                        <label for="exampleInputUsername">Username</label>
                        <input type="text" class="form-control" name="username" id="exampleInputUserame" placeholder="Username" value="<?php echo $data['username']; ?>">
                        <span style="font-size: 13px; color: RED;"><?php echo $unameKsg.$unameVldMsg ?></span>
                      </div>
                      <div class="form-group">
                        <label for="exampleInputPassword1">Password</label>
                        <input type="password" class="form-control" name="password" id="exampleInputPassword1" placeholder="Password">
                        <span style="font-size: 13px; color: RED;"><?php echo $passwdKsg.$passVldMsg ?></span>
                      </div>
                      <div class="form-group">
                        <label for="exampleInputEmail1">Email address</label>
                        <input type="email" class="form-control" name="email" id="exampleInputEmail1" placeholder="Enter email" value="<?php echo $data['email']; ?>">
                        <span style="font-size: 13px; color: RED;"><?php echo $emailKsg.$emailVldMsg ?></span>
                      </div>
                      <button type="submit" name="submit" class="btn btn-success mr-2">Submit</button>
                    </form>
                  </div>
                </div>
              </div>
            </div>
          </div>
<?php

if(isset($_POST['submit'])){
  $nama = trim($_POST['nama']);
  $username = trim($_POST['username']);
  $password = trim($_POST['password']);
  $passMD5 = $passMD5 = md5($password);
  $email = trim($_POST['email']);
  
  if(empty($password)){
    $query = "UPDATE data_user SET nama='$nama', username='$username',email='$email' where id='$id'";
  }
  else {
    $query = "UPDATE data_user SET nama='$nama', username='$username',
    password='$passMD5',email='$email' where id='$id'";
  }


  if(empty($nama)){
    $namaKsg = "Nama masih kosong. <br>";
  }
  if(empty($username)){
    $unameKsg = "Username masih kosong. <br>";
  }
  if(empty($password)){
    $passwdKsg = "Password masih kosong. <br>";
  }
  if(empty($email)){
    $emailKsg = "Email Masih Kosong. <br>";
  }
  if(!preg_match("/^[a-zA-Z ]*$/", $nama)){
    $namaVld = false;
    $namaVldMsg = "Tidak boleh ditulis selain huruf! <br>";
  }
  if(!preg_match("/^[a-zA-Z]*$/", $username)){
    $unameVld = false;
    $unameVldMsg = "Hanya diisi huruf tanpa spasi <br>";
  }
  if(strlen($password) < 8){
    $passVld = false;
    $passVldMsg = "Password minimal 8. <br>";
  }
  if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    $emailVld = false;
    $emailVldMsg = "Format email salah! <br>";
  }

  if(!empty($nama) and !empty($username) and !empty($email)
  and $namaVld and $passVld and $emailVld){
    $input = mysqli_query($conn, $query) or die(mysqli_error($conn));
      if($input){
       echo 'Data siswa berhasil di perbarui!';
      }
  }
}
 ?>
7. Buat file hapus_user.php
File ini berisi kode php untuk menghapus suatu data yang terpilih
<?php
 if(isset($_GET['id'])){
   include('../config.php');
   $id = $_GET['id'];
   $cek = mysqli_query($conn, "SELECT id FROM data_user WHERE id='$id'") or die(mysqli_error($conn));
   if(mysqli_num_rows($cek) == 0){
     echo '<script>window.history.back()</script>';
   }
   else{
      $del = mysqli_query($conn, "DELETE FROM data_user WHERE id='$id'");
      if($del){
       header('location:/quiz1/index.php');
      }
   }
  }
  else{
   echo '<script>window.history.back()</script>';
}
?>
 Demikian langkah-langkah untuk membuat CRUD PHP menggunakan validasi.
Foto:
 
Ketika terjadi error karena validasi
 
Halaman index.php
 
Halaman add_user.php

Halaman edit_user.php    
Share:

About Me

Putri

Konsep Teknologi Informasi