Mencegah input data sama php

Cara Membuat Validasi Data untuk Menghidari Duplikat Entri Data Ganda di Php Mysql – Apa kabar temen- temen semoga sehat selalu. Ok kali ini saya akan menjelaskan tentang cara membuat validasi menghindari duplicate entri menggunakan Php, mungkin kita sering menemukan data unik yang tidak boleh sama saat di input, misalnya NIK dan Email, data ini merupakan atribut bersifat unik maka saat di input tidak boleh lebih dari 1 data yang tersimpan.

Untuk mencegah data yang telah di input sebelumnya agar tidak ada data yang sama maka kita akan melakukan pengecekan data terlebih dahulu, apakah data yang akan di input sudah ada di database apa belum.

Mari langsung saja kita membuat script php untuk menghindari atau mencegah duplikat data ganda, sehingga tidak terjadi data yang sama saat di input.

Tutorial yang akan saya buat ini menggunakan include dengan database. Alur prosesnya dengan membuat validasi jika di temukan data yang sama atau ganda pada database maka otomatis query insert mysql tidak bisa di jalankan dan kembali ke halaman form.

Pertama kita akan membuat databese dengan nama database “validasi”  dan tabel user sedangkan isi tabel bisa lihat gambar di bawah ini:

Mencegah input data sama php

Kedua kita akan membuat  folder dulu dengan nama “Validasi”  di dalam folder htdocs yah,  kemudian kita akan membuat file index.php di save kedalam folder “Validasi”. Silahkan temen-teman simpan script dibawah ini :

<pre>

<?php

error_reporting (0);

include “koneksi.php”;

?>

<!DOCTYPE html>

<html lang=”en”>

<head>

    <title> Belajar Validasi</title>

    <!– Bootstrap Core CSS –>

    <link href=”bootstrap/css/bootstrap.min.css” rel=”stylesheet”>

</head>

<div class=”container”>

<nav class=”navbar navbar-expand-sm bg-info navbar-dark “>

  <!– Brand/logo –>

  <a class=”navbar-brand” href=”#”>Validasi

  </a>

  <!– Links –>

  <ul class=”navbar-nav ml-auto”>

    <li class=”nav-item”>

      <a class=”btn btn-info dropdown” href=”http://localhost/validasi/index.php” role=”button”>Home</a>

    </li>

    <li class=”nav-item”>

      <a class=”btn btn-info dropdown” href=”http://localhost/validasi/view.php” role=”button”>View</a>

    </li>

  </ul>

</nav>

</div>

<body>

<!– alamat dan lokasi –>

<div class=”container”>

  <div class=”row”>

    <div class=”col-8″>

      <br>

        <h2>Form Registrasi </h2>

    <b>

    <div class=”col”>

      <div class=”col-md-12″>

             <form role=”form” method = “POST” action=””>

                  <div class=”box-body”>

                    <div class=”form-group”>

                      <label for=”exampleInputUsername”>Usernama</label>

                      <input type=”text” class=”form-control” id=”username” name=”username” placeholder=”Usernama” required data-fv-notempty-message=”Tidak boleh kosong”>

                    </div>

                     <div class=”form-group”>

                      <label for=”exampleInputPassword”>Password</label>

                      <input type=”password” class=”form-control” id=”password” name=”password” placeholder=”Password” required data-fv-notempty-message=”Tidak boleh kosong”>

                    </div>

                    <div class=”form-group”>

                      <label for=”exampleInputEmail1″>Email</label>

                      <input type=”text” class=”form-control” id=”email” name=”email” placeholder=”Email” required data-fv-notempty-message=”Tidak boleh kosong”>

                    </div>

                  </div><!– /.box-body –>

                  <button type=”submit” name = ‘add’  class=”btn btn-info”>Simpan</button>

              &nbsp;

              <button type=”reset” class=”btn btn-success”>Reset</button>

            </form>

            <?php

//proses

    if(isset($_POST[‘add’])) {

    $username=$_POST[‘username’];

    $password=md5($_POST[‘password’]);

    $email=$_POST[’email’];

//script PERINTAH MENGECEK AGAR TIDAK TERDAPAT USER dan EMAIL YANG SAMA

    $cek = mysql_num_rows(mysql_query(“SELECT * FROM user WHERE username=’$username’ or email=’$email'”));

    if ($cek > 0){

    echo “<script>window.alert(‘nama atau email yang anda masukan sudah ada’)

    window.location=’index.php'</script>”;

    }else {

    mysql_query(“INSERT INTO user(iduser,username,password, email)

    VALUES (”,’$username’,’$password’,’$email’)”);

    echo “<script>window.alert(‘DATA SUDAH DISIMPAN’)

    window.location=’index.php'</script>”;

    }

    }

    ?>

    </div>

    </b>

   </div>

  </div>

 </div>

<br>

<br>

</body>

<footer class=”main-footer”>

            <div class=”container”>

              <center>

              <strong>Copyright &copy; 2020 <a href=”#”>Validasi</a></strong>

    </center>

            </div><!– /.container –>

</footer>

</html>

</pre>

Mencegah input data sama php
Ok saya akan jelaskan sedikit mengenai script di atas, pada baris 69 itu script pengecekan validasi, kita membuat variabel  $cek, pada script tersebut saya membuat query yang melakukan pengecekan di database dengan klause WHERE terhadap inputan username dan email di database dengan inputan data lewat methode $_POS.

<pre>

//script PERINTAH MENGECEK AGAR TIDAK TERDAPAT USER dan EMAIL YANG SAMA

    $cek = mysql_num_rows(mysql_query(“SELECT * FROM user WHERE username=’$username’ or email=’$email'”));

    if ($cek > 0){

    echo “<script>window.alert(‘nama atau email yang anda masukan sudah ada’)

    window.location=’index.php'</script>”;

    }else {

    mysql_query(“INSERT INTO user(iduser,username,password, email)

    VALUES (”,’$username’,’$password’,’$email’)”);

    echo “<script>window.alert(‘DATA SUDAH DISIMPAN’)

    window.location=’index.php'</script>”;

    }

    }

    ?>

</pre>

Pada script di atas sata menggunakan msql, jika teman-teman menggunakan msqli silahkan ganti menjadi  msqli. Jika sudah selesai jangan lupa disave setelah itu coba jalankan

logikanya cek data username dan email di database berdasarkan inputan jika data ada artinya lebih dari 0 berarti ada, maka tampilkan pesan ‘nama atau email yang anda masukan sudah ada’, else jika tidak ada query ‘DATA SUDAH DISIMPAN’  Nah Mudah bukan teman-teman .. !! semoga membantu Anda yang kesusahan dalam Menghidari Duplikat Entri Data Ganda di Php Mysql. Jika ada pertanyaan silahkan komen.