Berikut ini adalah tutorial yang ditujukan kepada mahasiswa MI yang mengambil mata kuliah Pemrograman Web II yaitu; membuat login form dengan PHP dan MySQL
Secara sederhana, cara kerjanya adalah seperti :
1.) Ketika user memasukkan username beserta passwordnya, maka yang pertama kali dilakukan adalah mengeceknya dalam database apakah username telah terdaftar, jika telah terdaftar, dalam hal ini ada dalam database maka kita memerlukan satu variable yang mengindikasikan bahwa user tersebut ada.
2.) Setelah itu maka sang user akan diberi sebuah session yang diambil dari usernamenya jika pengecekan password sebelumnya oleh MD5 sukses dilakukan.
3.) Jika kesemuanya tidak sesuai maka sang user akan diredirect ke halaman login.html, sehingga terlihat seperti diam di tempat.
Untuk memulainya kita buat terlebih dahulu databasenya :
———————————————————–
create database userdb;
use userdb;
create table tbl_user(id int(3) primary key auto_increment,
username varchar(50), password varchar(50));
insert into tbl_user values(‘ ‘,’admin’,’21232f297a57a5a743894a0e4a801fc3′);
21232f297a57a5a743894a0e4a801fc3 –> ini adalah md5 hash dari ‘admin’
————————————————————
Pertama-tama kita membuat halaman loginnya terlebih dahulu
// login.html
<html><head><title>Halaman Login … </title></head>
<body>
<br><br><br><br><br><br><br><br><br><br><br>
<table border=1 align=center>
<form method=post action=cek.php>
<tr><td>username</td><td><input type=text name=username></tr>
<tr><td>password</td><td><input type=password name=password></tr>
<tr><td></td><td><input type=submit name=submit value=Enter></tr>
</form>
</table></body>
</html>
Kemudian halaman config.php
// config.php
<?php
$host = “localhost”;
$username = “root”;
$password = “”;
$databasename = “userdb”;
$connection = mysql_connect($host, $username, $password) or die(“Kesalahan Koneksi … !!”);
mysql_select_db($databasename, $connection) or die(“Databasenya Error”);
?>
Setelah itu kita buat halaman cek.php
// cek.php
<?php
session_start();
include “config.php” ;
$username = $_POST['username'];
$password = $_POST['password'];
$passwordhash = md5($password); // mengenkripsikannya untuk dicocokan dengan database
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash’”;
$jalankanperintahnya = mysql_query($perintahnya);
$ada_apa_enggak = mysql_num_rows($jalankanperintahnya);
if ($ada_apa_enggak >= 1 )
{
$_SESSION['username'] = $username;
header(“location: main.php”);
}
else
header(“location: login.html”);
?>
Kemudian kita buat intinya main.php
// main.php
<?php
session_start();
if (ISSET($_SESSION['username']))
{
print $_SESSION['username'];
print “<br><a href=logout.php?maukeluar=iya>logout</a>”;
}
else
header(“location: login.html”);
?>
Dan halaman logout.php …
// logout.php
<?php
session_start();
if ($_REQUEST['maukeluar'] == “iya”)
{
if(ISSET($_SESSION['username']))
{
UNSET($_SESSION['username']);
}
}
header(“location: login.html”);
session_destroy();
?>
Pembahasan Script
lihat bagian
session_start();
Penggunaan session harus dimulai dengan menggunakan fungsi ini.
Kemudian disana tertulis kalimat seperti ini …
$password = $_POST['password'];
$passwordhash = md5($password);
saya mengambil variable global $_POST['password'] kemudian menyisipkannya kedalam variable baru,
yakni $password. Karena didalam database sudah dalam bentuk enkripsi MD5 maka yang perlu dilakukan
untuk mencocokkan dengan yang ada dalam database adalah mengenkripsi variable global password tadi.
Cukup dimengerti.
Kemudian argumen selanjutnya adalah query SQL
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash’”;

Faizal
28 Maret 2010
Pak saya ingin mendalami dalam bidang web programming,. tp saya bingung harus mulainya dari mana..??? Bisa kasih saran pak…???
herusastro
29 Maret 2010
pertama harus suka, kedua harus mau. kalo software grafis dah menguasai tinggal melanjutkan ke HTML, Bila HTML dah lancar pelajari script2 PHP dan MySQL.
rendy
9 Oktober 2010
pak saya mw tanya soal md5($password)
itu maksudnya gmn y? kl saya mw insert user:a dengan pass:12345 bs langsung ke db?
apa perlu form insert user yg sebelumnya meng enkripsi pasword 12345 tsb?
terima kasih sblmnya..
herusastro
10 Oktober 2010
MD5 Kepanjangan dari Message-Digest algortihm 5, adalah sebuah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit . Password MD5 merupakan salah satu perlindungan kepada user dalam menggunakan fasilitas internet di dunia maya, terutama yang berhubungan dengan password.
Misalkan jika kita merencanakan password kita “12345″ maka jika di enkripsi dengan metode MD5 maka akan menghasilkan kode “827ccb0eea8a706c4c34a16891f84e7b”
Untuk definisi yang mudah dimengerti, MD5 merupakan metode enkripsi data dari yang berbentuk plaintext menjadi berbentuk algoritma (chypertext) yang bertujuan agar tidak mudah dibaca mentah-mentah oleh siapapun termasuk database administrator.
Untuk membuat password dengan metode enkripsi MD5 kita bisa menggunakan bantuan dari MD5 generator Online yaitu di alamat web http://www.adamek.biz/md5-generator.php
Dan apabila kita ingin melihat karakter yang sudah terenkripsi menjadi teks biasa kita bisa gunakan MD5 Decryptor di alamat web http://md5-decrypter.com/
adrian
1 Januari 2011
saya bner2 gak ngerti.tolong jelasin donkmitu smua phpnya ditaruh dimana,saya menggunakan blogger.saya ingin blog saya ada form loginnya.thanks
herusastro
6 Januari 2011
mas adrian, untuk blogger ada fasilitas widget form tersendiri. untuk tutorial ini total HTMl dan PHP jadi kalo ditempatkan di blogspot sepertinya tidak diijinkan.
syarif
27 April 2011
mas sya msih newbie d bidang web programming,, sdkit2 sdh sy jalani dn di pelajari, tapi saat ini saya mentok di database, untuk menghubungkan website kita dengan database tersebut itu bgaimana caranya mas?? mohon pencerahannya,, mkasih
herusastro
4 Oktober 2011
okey… akan saya buatkan tutorialnya… sabar ya mas…
myflstudio.com
26 Agustus 2011
mas klo plugis wodrpress ad gk mas
myflstudio.com