Validasi Form Input Menggunakan PHP


Validasi Form Input Menggunakan PHP


Pada dasarnya validasi data ini terdiri dari 2 bagian, yaitu validasi data dari sisi user dan server, yang akan dibahas ini tentunya validasi data dari sisi server menggunakan script PHP. Untuk teknik atau penulisa kodenya sendiri Anda bisa memilih menggunakan 2 file atau 1 file seperti yang sudah pernah saya jelaskan pada artikel Mengirim Data ke Database Menggunakan Satu File PHP

Baca juga :

Untuk tutorial kali ini saya akan memberikan contoh validasi form input dengan menggunakan 2 file php. File pertama nantinya bertugas mengirim input data dari user, dan file kedua bertugas memvalidasi, memproses dan untuk selanjutnya menyimpan datanya ke database. Sederhananya seperti itu, karena umumnya proses validasi ini juga ujung – ujungnya untuk menyimpan datanya ke database, jadi kita langsung praktekan saja bagiamana contoh validasinya kemudian ketika selesai melakukan eksekusi/perintah query untuk menyimpan data yang telah diperiksa tersebut ke database

Validasi Form Input Menggunakan PHP
  1. Buat sebuah database/tabel seperti berikut ini
    struktur database untuk menyimpan data
  2. Buat sebuah file koneksi php seperti berikut ini

    
    <?php
    $host="localhost";
    $user="root";
    $pass="";
    $db="belajar";
    $koneksi=mysqli_connect($host,$user,$pass);
    if(!$koneksi){
    echo"Gagal Melakukan Koneksi:".mysqli_connect_error();
    exit();
    }
    $pilihdb= mysqli_select_db($koneksi,$db);
    if(!$pilihdb) {
     echo("Gagal memilih Database:".mysqli_connect_error());
    }
    ?>
    
    
  3. Buat sebuah form input untuk menampung data/mengirimkan data dengan method POST
    <html>
    <head>
     <titile>Form Cek Input</titile>
    </head>
    <body>
    <form action="cek_input.php" method="post">
     <input type="text" name="data" id="data" required="" placeholder="Masukan nilai Input">
    <input type="submit" name="kirim" id="kirim" value="kirim">
    </form>
    
    </body>
    </html>
    
  4. Buat sebuah file untuk memvalidasi atau untuk memproses data yang dikirim dari form input untuk kemudian disimpan ke database.
    <?php
    include('koneksi.php');
    ?>
    <?php
    //akses file secara langsung tanpa melalui form tidak diperbolehkan
    if(isset($_POST['kirim'])==""){
     echo "Akses data langsung gagal";
    }
    //Cek data jika data kosong
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if(empty($_POST["data"])){
     echo "Data yang dikirimkan kosong";
    }elseif(!preg_match("/^[a-zA-Z]*$/",$_POST["data"])){
    echo "Data tidak sesuai ketentuan, masukan hanya alphabet saja";
    }elseif (strlen($_POST["data"]) > 5) {
    echo "Data <b>$limit</b> Tidak boleh lebih dari 5 karakter";
    }else{
    //ketika kondisi benar terpenuhi
     echo "Input kamu benar<br/>";
     $nama=test_input($_POST["data"]);
     $nama=mysqli_escape_string($koneksi,$nama);
     //bisa jalankan query atau menyimpan variabel untuk dijalankan nanti setelah validasi berikutny
    $perintah=sprintf("INSERT INTO belajar VALUES('null','%s')",$nama);
    $jalankan=mysqli_query($koneksi, $perintah);
    if(!$jalankan){
      echo "Gagal menyimpan data=".mysqli_error();
    }else{
      echo "Berhasil Menyimpan data";
    }
    }
    //jika ingin melanjutkan percabangan gunakan if(empty) tanpa request method disisni seperti contoh pertama
    
    
    }
    function test_input($value) {
      $data = trim($value);
      $data = stripslashes($value);
      $data = htmlspecialchars($value);
      return $data;
    }
    ?>
    
       
    
    
    

Sampai disini kita telah berhasil memvalidasi form input yang dikirim user menggunakan script PHP, untuk percabangannya mungkin akan lebih banyak terutama jika memang ada banyak yang perlu di validasi, seperti misalnya saja memvalidasi nilai input yang dikirim user supaya data yang dikirim tidak boleh sama seperti yang terdapat pada database



#Tambahan :
Kalian juga bisa menggunakan teknik true false didalam percabangan yang ada. Untuk Contoh pemakaiannya bisa kalian lihat pada aplikasi ppdb di root93

#RALAT
Untuk jenis validasi dengan if elseif else seperti pada contoh diatas, sebaiknya ada pengecekan data ulang. Maksudnya, kode percabangan yang saya jelaskan diatas sebenarnya memiliki kesalahan untuk kondisi terkahir pada percabangan. Sehingga akibatnya ketika data terakhir bernilai benar dan data pertama salah dia akan tetap melakukan ekseskusi ke database. Padahal ketika data kedua bernilai salah dan data pertama benar dia tidak mengeksekusi ke database. Seharusnya kalau ada salah satu data pada percabangan yang salah tidak boleh ada eksekusi ke database.

Untuk contoh kode bisa dilihat pada ralat yang terdapat pada halaman Mengirim Data ke Database Menggunakan Satu File PHP

2 Responses to "Validasi Form Input Menggunakan PHP"

  1. kalau untuk limitasi data gmna? jika suatu data sudah ada pada database, maka tidak dapat menginputkan data yang sama lagi untuk kedua kalinya sebelum data sebelumnya dihapus..? terimakasih

    ReplyDelete
    Replies
    1. Baca aja di https://www.root93.co.id/2019/07/mencegah-input-data-yang-sama-ke-mysql.html

      Delete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin