Proses Authentifikasi Login di PHP
Pernahkah anda mempunyai sebuah website?. Pernahkah juga anda menginginkan pengunjung website anda hanya orang-orang tertentu yang sudah terdaftar di website anda?.
Nah tujuan saya menulis artikel ini adalah ingin membagikan pengetahuan saya tentang membuat proses authentifikasi login di PHP. Mungkin ada di antara anda yang bertanya apa itu “Authentifikasi”. Authentifikasi adalah proses dimana data yang user masukan kemudian di proses di server untuk kemudian di cocokan dengan database website anda.
Karena artikel ini adalah lanjutan dari artikel sebelumnya ada baiknya anda membaca artikel sebelumnya sebelum melanjutkan membaca artikel ini karena untuk memudahkan anda memahami isi dari artikel ini.
Pada artikel sebelumnya saya membahas tentang proses register di PHP yang mana di artikel tersebut di tuturkan cara mendaftarkan user baru ke website anda. Nah pada artikel ini akan di bahas tentang cara memproses data user apabila si user itu kembali ke website anda dan ingin masuk ke dalam website anda. Konsepnya sederhana jika pada artikel sebelumnya data yang di masukan user di simpan di dalam database maka pada proses ini kita hanya perlu meminta data dari database yang akan di gunakan sebagai patokan/pegangan untuk memvalidasi input user dan password yang di masukan oleh pengunjung anda.
Pertama-tama kita membuat form yang akan meminta pengunjung untuk memasukan user dan password mereka, berikut adalah tag HTMLnya.
login.htm
<html><head><title>Masuk ke akun anda</title>
</head><body><p>Harap memasukan data secara benar</p>
<form action="submit.php" method="post">Nama Pengguna :<br /><input type="text" name="username" /><br />Kata Kunci :<br /><input type="password" name="password" /><br /><input type="submit" value="Login" /></form></body></html>
Setelah form loginnya di buat maka tahap selenjutnya adalah membuat script untuk memproses input dari user yang di kirimkan melalui form tadi. Berikut ini adalah script PHPnya.
submit.php
<?php// Memulai sessionsession_start();
// Membaca user dan password yang di kirim// dari form "login.htm"$username = $_POST["username"];
$password = $_POST["password"];
// Koneksi ke databasemysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");
// Meminta data dari database$sql = mysql_fetch_array(mysql_query("SELCT * FROM `member` WHERE `username` = '$username'"));
// Mencocokan password yang di masukan user dengan// data yang telah ada di databaseif ($password == $sql['password'])
{$_SESSION["username"] = $username;
echo "<a href=\"index.php\">Lanjut</a>';
}else{echo "<p>Maaf, username atau password yang anda masukan salah.</p>";
}?>
Setelah membuat script untuk memproses loginnya tugas anda belum selesai, ada kalanya pengunjung lupa akan passwordnya untuk mengantisipasi hal ini maka anda harus membuat pengingat password untuk pengunjung itu sendiri caranya adalah menulis script untuk mengingatkan pengunjung tersebut tentang passwordnya. Dalam hal ini kita tidak akan menggunakan cara seperti Gmail atau Yahoo! yang menggunakan pertanyaan keamanan untuk membuka accountnya lagi. Kita akan menggunakan media email sebagai pegirim passwordnya. Berikut ini adalah sctiptnya.
forgot.htm
<html><head><title>Lupa Password</title>
</head><body><form action="submit.php" method="post">Nama Pengguna :<br /><input type="text" name="username" /><br /><input type="submit" value="Submit" /></form></body></html>
Dan scriptnya sebagai berikut.
submit.php
<?php// Membaca username$username = $_POST["username"];
// Mengabil password dan alamat email dari database$sql = mysql_fetch_array(mysql_query("SELECT * FROM `member` WHERE `username` = '$username'"));
$email = $sql["email"];
$password = $sql["password"];
// Mengirimkan password baru ke email$send = mail("$email", "Password Baru", "Berikut ini adalah user dan password anda. Username anda : $username dan password anda : $password", "admin@situsanda");
// Menampilkan hasil akhirif ($send)
echo "<p>Password anda sudah di kirimkan ke email anda.</p>";
elseecho "<p>Password anda gagal di kirim. Silahkan coba lagi.</p>";
?>
Jika ada proses login maka proses setelah selesai adalah proses logout. Di proses ini adalah kita menghapus seluruh aktifitas yang di lakukan oleh pengunjung itu. Script logout tidak sepanjang script login atau pun register. Script logoutnya.
logout.php
<?php// Memulai sessionsession_start();
// Menghapus sessionunset($_SESSION["username"]);
// Menampilkan outputecho "<p>Anda sudah logout.</p>";
?>
Cukup sekian dulu artikel dari saya semoga bisa berguna bagi anda yang ingin mempelajari tentang proses mendaftar, login dan logout. Sekian dari saya sampai ketemu lagi di artikel berikutnya…