Cara menggunakan php email validation

Halo sahabat programmer kembali lagi saya membagikan artikel mengenai cara membuat form validation di PHP. Form validation yang akan kita pelajari diantaranya adalah validasi untuk keterisian field (required) dan email valid. Sebelumnya saya juga sudah pernah membahas terkait form validation di codeigniter.

Menurut saya Form Validation menjadi fitur yang wajib ada disetiap aplikasi form yang kita buat. tanpa form validation pengguna yang mengisi form akan mengisi yang tidak sesuai dengan ketentuan form itu sendiri. Misalnya pada field email ketika tanpa menggunakan form validation pengguna bisa saja memasukan email yang tidak valid. Padahal kita membutuhkan email valid dari pengguna yang mengisi form di aplikasi kita.

Baca juga :

  • Cara membuat form pada html
  • Membuat form dengan Bootstrap

Selain itu form validation berguna untuk mencegah orang-orang yang iseng dengan mencoba untuk merusak bahkan membobol sistem aplikasi kita misalnya lewat Cross Site Scripting (XSS) dimana mereka menyisipkan beberapa perintah client side seperti tag html dan javascript.

Membuat form validation dari serangan Cross Site Scripting (XSS)

Teknik Cross Site Scripting (XSS) adalah salah satu teknik untuk memasukan tag html kedalam form inputan. Apabila tidak ada validasi form untuk hal ini maka inputan akan membca sesuai dengan tag html yang diinputkan. Perhatikan contoh dibawah ini:

  



  



Contoh Form Validation dengan PHP

"> Nama:

Yang kamu inputkan:"; echo $name; echo "
"; ?>

Disini saya membuat sebuah form untuk inputan nama, ketika pengguna menginpkan nama dan menekan tombol submit maka inputan tersebut akan langsung tampil dihalaman itu sendiri tanpa berpindah halaman.

Bila kalian perhatikan pada elemen form nya saya menggunakan variabel super global $_SERVER[“PHP_SELF”]; Dengan menggunakan variabel super global ini kita dapat mengirim data lewat form pada halaman itu sendiri tanpa harus berpindah halaman. Hal ini berfungsi untuk menampilkan pesan error saat menggunakan form validation di halaman yang sama.

Sekarang saya coba jalankan file PHP diatas melalui localhost, lalu kemudian saya menginput tag html pada form isian untuk field nama

Cara menggunakan php email validation

Perhatikan apa yang terjadi! link yang saya buat aktif dan dapat di klik

Cara menggunakan php email validation

Tentu saja hal ini tidak boleh terjadi. Karena pengguna bisa saja akan memasukan tag-tag html lainnya yang berbahaya untuk aplikasi kita.

Solusinya:

Untuk mencegah hal ini kita gunakan fungsi pada PHP yaitu htmlspecialchars(). Fungsi htmlspecialchars() akan mengubah/mengkonversi karakter khusus HTML menjadi named entity atau karaker string biasa. Sehingga tidak akan di eksekusi oleh web browser.

Artikel lainnya : Cara membuat form login dengan PHP

Untuk menggunakannya ganti pada bagian sintak berikut

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
 
}

menjadi

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST["name"]);
 
}

Jalankan kembali, dan lihat hasilnya

Cara menggunakan php email validation

Terlihat dari hasil output diatas karakter khusus html yang saya inputkan melalui field nama telah dikonversi menjadi sebuah karakter string biasa yang tidak akan dieksekusi oleh web browser.

Selanjutnya untuk mencegah secara keseluruhan serangan Cross Site Scripting (XSS) pada penggunaan variabel super global $_SERVER[“PHP_SELF”] tambahkan fungsi htmlspecialchars() pada variabel tersebut.

Ganti pada elemen from yang sebelumnya

">

ganti menjadi

"> 

Validasi form untuk keterisian data (Required)

Saat kita membuat form terkadang beberapa field tertentu perlu wajib di isi oleh pengguna, sebelum form tersebut dikirim. Berikut ini saya akan jelaskan bagaimana cara membuat validation form di PHP untuk keterisian data atau field required.

  




  



Contoh Form Validation dengan PHP

"> Nama: *

Email: *

Yang kamu inputkan:"; echo "Nama : ".$name; echo "
"; echo "E-Mail : ".$email; ?>

Penjelasan:

Pada sintak diatas saya membuat form input untuk nama dan email. keduanya menggunakan validasi required, artinya bahwa kedua field tersebut harus diisi. Perhatikan pada bagian sintak ini

if ($_SERVER["REQUEST_METHOD"] == "POST")

sintax tersebut berfungsi untuk mengecek apakah ada nilai kiriman form dengan menggunakan method POST, jika iya maka akan dikerjakan pada bagian sintax berikut

  if (empty($_POST["name"]))

Pada bagian ini di cek kembali apakah nilai kiriman form dengan menggunakan method post dengan nama “name” kosong ?

Jika kondisi bernilai benar (true), maka akan diisi variabel $name_kosong untuk nantinya ditampilkan pemberitahuan bahwa field nama harus diisi.

 $name_pesan = "Nama harus diisi";

Namun jika bernilai false (artinya bahwa ada nilai dari kiriman form tersebut) maka akan di set nilainya pada variabel nama dengan menggunakan function htmlspecialchars() yang telah kita pelajari diatas.

$name = htmlspecialchars($_POST["name"]);

Hal yang sama juga untuk field email.

Apabila field tidak di isi maka akan menampilkan pesan error

 * 

Namun apabila kedua field required yang diminta telah diisi maka nilainya akan ditampilkan

Yang kamu inputkan:";
	echo "Nama : ".$name;
	echo "
"; echo "E-Mail : ".$email; ?>

Jika dijalankan maka hasilya seperti contoh berikut

Cara menggunakan php email validation

Membuat Validasi Email Valid

Email valid merupakan format email yang sesuai dengan standar yang telah ditetapkan contoh yang benar contoh yang salah dimas$gmail.com

Dengan menggunakan validasi email valid mengharuskan pengguna menginput email yang sesuai dengan format email yang benar.

Mungkin anda berminat membaca:

  • Membuat form pendaftaran dengan PHP

Cara membuatnya ganti pada bagian kondisi untuk pengecekan field email dari yang sebelumnya

 if (empty($_POST["email"])) {
    $email_pesan = "Email harus diisi";
  } else {  
    $email = htmlspecialchars($_POST["email"]);
  }

ganti menjadi

   if (empty($_POST["email"])) {
    $email_pesan = "Email harus diisi";
  } else {
	  //Cek apakah email yang dimasukan sesai dengan format valid ?
	 if (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
      $email_pesan = "Email yang dimasukan tidak valid";
    }else {
	  $email = htmlspecialchars($_POST["email"]);
	}		
 
  }

Jika dijalankan maka hasilnya seperti pada gambar dibawah

Cara menggunakan php email validation

Membuat validasi karakter password yang terlalu pendek

Kita juga dapat membuat validasi jika ingin mengharuskan pengguna menginputkan password yang tidak pendek. Kita bisa mengatur panjang minimal password yang harus terpenuhi. Sintaknya adalah seperti berikut

  




  



Contoh Form Validation dengan PHP

"> Nama: *

Email: *

Password: *

Yang kamu inputkan:"; echo "Nama : ".$name; echo "
"; echo "E-Mail : ".$email; echo "
"; echo "Password : ".$password; ?>

Untuk membuat validasi ini saya mengunakan function strlen(). Fungsi ini akan menghitung jumlah karakter pada sebuah string. Disini saya membuat ketentuan jumlah karakter password tidak boleh kurang dari 5 karakter

if (strlen($password)<5){
	$password_pesan = "Password terlalu pendek";
}else {
	$password = htmlspecialchars($_POST["password"]);
}

Hasilnya nanti akan seperti gambar berikut

Cara menggunakan php email validation

Sekian dulu artikel mengenai cara membuat form validation di PHP. Semoga artikel ini dapat bermanfaat buat kalian yang sedang belajar bahasa pemrograman PHP. Sampai jumpa pada artikel selanjutnya !