About Me

Followers

Labels

Tuesday, December 27, 2011

Buat Validasi Email Sederhana dengan Php

Email adalah sesuatu yang sangat dibutuhkan hampir semua orang ketila mengakses internet. Ketika anda mendaftar pada suatu forum, atau apapun yang menggunakan email, tanpa anda sadari ada suatu script yang telah mengecek apakah email yang anda masukkan itu sudah valid atau belum. Nah, artikel kali ini saya buat khusus untuk para programmer baru yang sedang mendalami pemrograman javascript. Ada beberapa logika sederhana ketika kita melakukan validasi pada sebuah email.


Logika yang pertama misalnya, dalam email hanya boleh terdapat satu tanda at ( @ ) lalu tidak boleh ada tanda titik ( . ) sebelum dan sesudah tanda at ( @ ). Dan masih banyal lagi logika lainnya. Cara yang saya gunakan adalah mengecek panjang string email dengan fungsi strlen lalu mengecek per kata yang ada dalam string dengan menggunakan fungsi for dan substring. Dan hal yang pertama yang anda lakukan tentunya adalah membuat textbox dan pada file proses php buatlah baris kode berikut ini:

<?php

$email = $_GET['email'];
include("fungsiCekEmail.php");
if((cekEmail($email) == false) || ($email == "")){
 echo "Email tidak valid";
}
?>


Pada file proses diatas, kita mengambil nilai pada textbox email kemudian memanggil file lain yaitu fungsiCekEmail.php. Lalu melakukan validasi dengan menggunakan fungsi yang kita buat di file fungsiCekEmail.php. Setelah itu kita buat file fungsiCekEmail.php nya, berikut adalah sintaknya:


<?php
function cekEmail($email){
  $myString = $email;
  $findMe1 = '@';
  $findMe2 = '.';
  $posisi1 = strpos($myString, $findMe1);
  $posisi2 = strpos($myString, $findMe2);
  $fl = true;
  $counterAt = 0;
  $jmlAt = strlen($email);
  $fl3 = 0;//posisi titik terakhir

  if(($email=="")||($posisi1==0)||($posisi1==strlen($email))||($posisi2==0)||($posisi2==strlen($email))){
   $fl = false;
   return $fl;
  }

  for($i=0; $i<$jmlAt; $i++){
   if(substr($email, $i,1)=='@'){
    $counterAt++;
   }
  }
  if($counterAt != 1){
   return false;
  }

  for($i=0; $i<$jmlAt; $i++){
   if(substr($email,$i,1)=="."){//ketemu titik dan at
    if($fl3 == ($i - 1)){//mengecek konter sebelumya
     return false;
    }
    else{//mengupdate counter
     $fl3 = $i;
    }
   }
   else if(substr($email,$i,1)=='@'){
    if($fl3 == ($i - 1)){//mengecek konter sebelumya
     return false;
    }
    else{//mengupdate counter
     $fl3 = $i;
    }
   }
  }//for
  if($fl){
   return true;
  }
 }
?>

selamat mencoba..

0 comments

Post a Comment