Cara membuat validasi duplikat email Menggunakan Php MySql

//lh4.googleusercontent.com/-eAXyxy2JJKA/AAAAAAAAAAI/AAAAAAAAGS4/OHgzqHzCvtQ/s512-c/photo.jpg
August 10, 2018

Selamat malam sobat blogger kali ini kami akan share Cara membuat validasi duplikat email Menggunakan Php MySql. Mencegah duplikasi email atau identitas lainnya dalam sebuah aplikasi android atau web sangatlah penting, Coba teman-teman bayangkan jika terdapat duplikasi identitas yang masuk dalam sebua aplikasi, maka yang terjadi adalah admin akan kebingunan mengolah data yang ada.



Yang pertama kalian lakukan adalah membuat file dengan nama
1. config.php
2. index.php
3. check_avalibality.php
4. check_availabilytyiduser.php

yang pertama kita lakukan adalah membuat database, buat databse dengan nama register. Kemudian masukkan databse berikut.


 -- phpMyAdmin SQL Dump
-- version 4.8.0.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Aug 10, 2018 at 04:34 PM
-- Server version: 10.1.32-MariaDB
-- PHP Version: 7.2.5

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `register`
--

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `fullName` varchar(50) DEFAULT NULL,
  `userEmail` varchar(50) DEFAULT NULL,
  `idUser` varchar(20) DEFAULT NULL,
  `password` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `fullName`, `userEmail`, `idUser`, `password`) VALUES
(1, 'arman', 'arman@gmail.com', '1234', 'f69d037742b470f00879e81b7835a1a3'),
(2, 'arman', 'arman@gmail.com', '1234', 'f69d037742b470f00879e81b7835a1a3');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 

Kemudian buat file dengan nama config.php. File ini berfungsi untuk menghubungkan database.

 <?php
define('DB_SERVER','localhost');
define('DB_USER','root');
define('DB_PASS' ,'');
define('DB_NAME', 'register');
$con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME);
// Check connection
if (mysqli_connect_errno())
{
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?> 

Kemudian buat file dengan nama index.php. Berfungsi sebagai form register.

 
    <?php
include('config.php');
error_reporting(0);
if(isset($_POST['submit']))
{
  $fullname=$_POST['fullname'];
  $email=$_POST['email'];
  $password=md5($_POST['password']);
  $iduser=$_POST['iduser'];
  $query=mysqli_query($con,"insert into users(fullName,userEmail,password,idUser) values('$fullname','$email','$password','$iduser')");
  $msg="Registration successfull. Now You can login !";
}
?>

<!DOCTYPE html>
<html>
<head>
  <title>REGISTER</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  
  <script>
    function userAvailability() {
      $("#loaderIcon").show();
      jQuery.ajax({
        url: "check_availability.php",
        data: 'email=' + $("#email").val(),
        type: "POST",
        success: function(data) {
          $("#user-availability-status1").html(data);
          $("#loaderIcon").hide();
        },
        error: function() {}
      });
    }
  </script>
  

  <script>
    function iduserAvailability() {
      $("#loaderIcon").show();
      jQuery.ajax({
        url: "check_availabilytyiduser.php",
        data: 'iduser=' + $("#iduser").val(),
        type: "POST",
        success: function(data) {
          $("#iduser-availability-status1").html(data);
          $("#loaderIcon").hide();
        },
        error: function() {}
      });
    }
  </script>
  
  
</head>
<body>
  <br /><br />
  <div class="container">
   <nav class="navbar navbar-inverse">
    <div class="container-fluid">
     <div class="navbar-header">
      <a class="navbar-brand" href="#">TUTORIALS BAGAIMANA MENCEGAH DUPLIKAT EMAIL MENGGUNAKAN PHP MYADMIN</a>
    </div>
  </div>
</nav>
<br />
<h2 align="center">REGISTER FORM</h2>
<br />
<p style="padding-left:20%; color:green">
  <?php if($msg){ echo htmlentities($msg); }?>
  <form class="login-form" method="post">
   <div class="form-group">
     <label>FULL NAME</label>
     <input class="form-control" name="fullname" type="text" placeholder="Full Name" autofocus>
   </div>
   <div class="form-group">
     <label>EMAIL</label>
     <input class="form-control" type="email" placeholder="Email" id="email" onBlur="userAvailability()" name="email" placeholder="Email" autofocus>
     <span id="user-availability-status1" style="font-size:12px;"></span>
   </div>
   <div class="form-group">
     <label>IDENTITY NUMBER</label>
     <input class="form-control" maxlength="10" name="iduser" type="text" id="iduser" onBlur="iduserAvailability()" placeholder="Identity Number">
     <span id="iduser-availability-status1" style="font-size:12px;"></span>
   </div>
   <div class="form-group">
     <label>PASSWORD</label>
     <input class="form-control" type="password" required="required" name="password" placeholder="Password">
   </div>
   <div class="form-group">
     <button class="btn btn-primary" type="submit" name="submit" id="submit">REGISTER</button>
   </div>
 </form>

</div>
</body>
</html>

 

Kemudian buat file dengan nama check_avalibality.php yang berfungsi sebagai memanggil database user email.

 <?php 
require_once("config.php");
if(!empty($_POST["email"])) {
 $email= $_POST["email"];
 $result =mysqli_query($con,"SELECT userEmail FROM users WHERE userEmail='$email'");
 $count=mysqli_num_rows($result);
 if($count>
  0) { echo "<span style='color:red'>Email already exists .</span>"; echo "
  <script>$('#submit').prop('disabled',true);</script>
  "; } else{ echo "<span style='color:green'>Email available for Registration .</span>"; echo "
  <script>$('#submit').prop('disabled',false);</script>
  ";
 }
}
?> 

Kemudian buat file dengan nama check_availabilytyiduser.php yang berfungsi sebagai memanggil database user email.

 <?php 
require_once("config.php");
if(!empty($_POST["iduser"])) {
 $iduser= $_POST["iduser"];
 $result =mysqli_query($con,"SELECT idUser FROM users WHERE idUser='$iduser'");
 $count=mysqli_num_rows($result);
 if($count>
  0) { echo "<span style='color:red'>iduser already exists .</span>"; echo "
  <script>$('#submit').prop('disabled',true);</script>
  "; } else{ echo "<span style='color:green'>iduser available for Registration .</span>"; echo "
  <script>$('#submit').prop('disabled',false);</script>
  ";
 }
}
?> 

Berikut tampilan dari form yang sudah ketika user belum terdaftar.


Berikut tampilan form ketika user sudah terdaftar di dalam database


Sekian share kali ini jika temna-teman masih belum oaham dengan kodingan di atas silahkan tinggalkan komentar dibawah dan mulai berdiskusi dengan kami. 


Artikel Menarik Lainnya

SUBSCRIBE TO OUR NEWSLETTER