Friday, April 20, 2012

PHP : Sample Form Login Dengan md5

Suatu hari aku penasaran dengan cara kerja php, bagaimana php membuat form login dan bagaimana mereka membuat encrypt md5 di dalamnya...
karena keingintahuan itu makanya aku mencoba membaut form login di php dengan disertakan md5 dan inilah penjelasannya

Dalam tutorial ini aku menggunakan wamp sebagai local server, lalu aku membuat folder di C:\wamp\www\test dan aku isi dengan file index.php

pertama kali yang akan kita buat adalah enskripsi md5 dari password yang kita gunakan, misalnya kita akan membuat md5 pari kata "mypassword" maka pada file index.php kita masukan code seperti dibawah ini



<?php
$pass = md5("mypassword");
echo $pass;
?>

bila kita jalankan pada browser maka tampiannya akan menjadi seperti ini (ketikan alamat brower "http://localhost/test/" jangan lupa, wamp juga harus aktif)




Oke, kita sudah mendapatkan code md5 dari kata "mypassword" selanjutnya kita ganti variabel $pass dengan code yang sudah kita buat, supaya ketike file index.php dicuri oleh orang lain, orang itu tidak akan mendapatkan plain text dari password kita

Setelah mendapatkan code sekarang saatnya membuat form untuk memasukan username dan password kita ketika login, code dibawah ini di pasang di bawah ?> pada code diatas

<form action="index.php" method="POST">
 <br/> User : 
 <input type="text" name="user" ></input>
 <br/> Password : 
 <input type="password" name="passwd" ></input>
 <button type="submit" >Submit</button>
</form>

Oke, kita sudah mendapatkan form login dengan texxtbox untuk user (kata di dalamnya dapat dibaca),  textbox untuk password (kata di dalamnya tidak dapat dibaca ) dan juga button untuk submit user dan passwordnya.

oke, mari kita lihat code yang kita buat bekerja


ketika button submit di tekan maka tidak akan terjadi apapun, hanya akan merefresh halaman namun tidak mengubah apapun. namun sebenarnya form tersebut sudah mengirimkan user dan password ke index.php namun karena kita belum menuliskan code untuk meresponnya maka tidak akan direspon dan seakan akan tidak berubah

maka dari itu selanjutnya kita tulisakan code untuk merespon user dan password yang kita kirim, oke tuliskan code seperti ini

<?php
$pass = "34819d7beeabb9260a5c854bc85b3e44";
echo $pass;

$user = $_POST["user"];
$pwd = $_POST["passwd"];

echo "<br/>".$user."<br/>".$pwd;
?>

ketika kita memasukan usernya admin dan passwordnya adalah mypassword dan click submit maka form akan menampilkan tampilan seperti ini


kenapa form dapat mencetak admin dan mypassword? itu karena ketika kita click submit buttion kita mengirimkan user dan password ke file index.php lalu php menangkap user dan password tersebut dengan fungsi $_POST[]; lalu dicetak dengan code echo

Nah, kita sudah tahu bahwa kita akan mendapatkan text dan password ketika Submit button di click, selanjutnya kita akan menggunakan fungsi IF. nah, jika password benar maka akan muncul "Login Berhasil" dan jika salah maka akan memunculkan "Login Gagal"

oke, pada php kita tambahkan

<?php
$pass = "34819d7beeabb9260a5c854bc85b3e44";
echo $pass;

$user = $_POST["user"];
$pwd = $_POST["passwd"];

echo "<br/>".$user."<br/>".$pwd;

if ($user==="admin" && md5($pwd)===$pass) {
 echo "<h1>Login Berhasil</h1>";
}else{
 echo "<h1>Login Gagal</h1>";
}

?>

setelah kita mendapatkan isi dari user dan password kita akan membandingkan dengan data yang sudah kita punya, misalnya $user==="admin" artinya adalah ketika user di isi dengan admin maka dia akan bernilai true jika tidak maka false. Pada php sama dengan 3 kali (===) digunakan untuk membandingkan sebuah string. Selanjutnya adalah md5($pwd===$pass). Disini kita membandingkan 2 variabel yaitu $pwd dan $pass, karena $pass sudah dalam bentuk md5 maka kita gunakan md5($pwd) untuk merubah $pwd menjadi md5 baru kita membandingkan, jika perbandingan $pwd dan $pass benar maka akan bernilai true dan jika salah maka akan menghasilkan nilai false. Di tengah ada tanda && yang artinya IF akan bernilai true jika keduanya adalah true.

Oke, selanjutnya mari kita coba :) aku mengisikan user : admin dan password : admin


 Ups, aku gagal login. Oke, mari coba dengan user : admin dan password : mypassword


Oke, nampaknya kita telah berhasil membuat form login dengan php, tapi ups ketika kita mambuka new tab dan menuliskan address yang sama akan muncul error seperti ini


hal itu dikarenakan php menangkap $_POST["user"] dan $_POST ["passwd"] padahal pada new tab kita sama sekali belum memasukan apapun, maka dari itu terjadilah error. Untuk menamngguangi kejadian tersebut maka kita haus memastikan bahwa user dan passwd sudah terisi baru menangkap dan membandingkannya. Kita tambahkan code seprti ini

<?php
$pass = "34819d7beeabb9260a5c854bc85b3e44";
echo $pass;

if (isset($_POST["user"]) && isset($_POST["passwd"])) {
 $user = $_POST["user"];
 $pwd = $_POST["passwd"];

 echo "<br/>".$user."<br/>".$pwd;

 if ($user==="admin" && md5($pwd)===$pass) {
  echo "<h1>Login Berhasil</h1>";
 }else{
  echo "<h1>Login Gagal</h1>";
 }
}
?>

kita pastikan dulu user dan passwd sudah terisi lalu baru kita malanjutkan codenya, isset pada php digunakan untuk mengecek apakah $_POST sudah terisi atau belum, jika sudah maka dia akan menegmbalikan nilai true dan jika salah akan mengembalikan nilai false


okay, bisa kita lihat bahwa tidak ada pesan error ketika kita belum memasukan user dan password

karena kita sudah paham dengan $_POST maka sebaiknya kita mengubah codenya dengan tidak mencetak user dan passwordnya di atas form, dan hasil jadi dari file index.php ini adalah

<?php
$pass = "34819d7beeabb9260a5c854bc85b3e44";

if (isset($_POST["user"]) && isset($_POST["passwd"])) {
 $user = $_POST["user"];
 $pwd = $_POST["passwd"];

 if ($user==="admin" && md5($pwd)===$pass) {
  echo "<h1>Login Berhasil</h1>";
 }else{
  echo "<h1>Login Gagal</h1>";
 }
}
?>

<form action="index.php" method="POST">
 <br/> User : 
 <input type="text" name="user" ></input>
 <br/> Password : 
 <input type="password" name="passwd" ></input>
 <button type="submit">Submit</button>
</form>

oke, seperti inilah tampilan jadinya


Semoga Bermanfaat
You Probably Success

Download
 - Download via Wuala.com



Sumber dari: Robzlabz

0 komentar:

Post a Comment

comment as you like..