Minggu, 29 April 2012

Membuat Login Dengan PHP tanpa tabel MySQL

Oke, kali ini saya akan membahas bagaimana cara login dengan PHP. Tapi login di sini tidak menggunakan tabel MySQL. Maksudnya? Maksudnya, verifikasi loginnya (username & password) tidak mengecek ke tabel MySQL. Jadi nanti variabel username dan passwordnya akan saya letakkan di skrip PHP nya.

Login di PHP menggunakan teknik "session".

Tenang aja, ini cuma dasarnya aja. Nanti di artikel selanjutnya saya akan membuat yang pake tabel MySQL.

Oke, pertama kita buat dulu form loginnya.

Buat sebuah file "login.php" dengan kode sebagai berikut

------------------ mulai kode PHP ------------------

<html>
<head>
<title>
Form Login
</title>
</head>

<body>

<form method="post" action="proses_login.php">

<table border="1" width="300">

<tr>
<td>username</td>
<td><input type="text" name="user" /></td>
</tr>

<tr>
<td>password</td>
<td><input type="password" name="pass" /></td>
</tr>

<tr>
<td colspan="2" align="center"><input type="submit" value="Login" /></td>
</tr>

</table>

</form>

</body>
</html>

------------------ akhir kode PHP ------------------

keterangan:

++ menggunakan tag table hanya untuk merapihkan tampilan
++ elemen terpenting di formnya adalah: "input text dengan name user", "input password dengan name pass" dan "input submit"
++ nantinya elemen "username" dan "password" akan diproses di file "proses_login.php"
++ di file "proses_login.php" "username" dan "password" akan dicocokkan dengan "username" dan "password" yang sudah ditentukan.

selanjutnya kita akan membuat "proses_login.php"

------------------ mulai kode PHP ------------------

<?
session_start(); //memulai session
?>

<html>
<head>
<title>Proses Login</title>
</head>

<body>

<?
$user=$_POST[user]; //mengambil variabel username
$pass=$_POST[pass]; //mengambil variabel password

$user_anda="user01"; //username yang harus diinput
$pass_anda="1234"; //password yang harus diinput

if(empty($user)) //jika username belum diisi
{
echo "username belum diisi<br />";
echo "<a href=\"login.php\">kembali</a>";
}
elseif(empty($pass)) //jika password belum diisi
{
echo "password belum diisi<br />";
echo "<a href=\"login.php\">kembali</a>";
}
else //jika username dan password sudah diisi
{
if($user==$user_anda AND $pass==$pass_anda) //mengecek apakah username dan password sudah benar
{
$_SESSION[user]=$user; //memasukkan username ke session. ini yg terpenting
echo "berhasil login<br />";
echo "<a href=\"logout.php\">Logout</a>"; //link untuk logout
}
else
{
echo "username atau password salah<br />";
echo "<a href=\"login.php\">kembali</a>";
}
}
?>

</body>
</html>

------------------ akhir kode PHP ------------------

keterangan:

++ di awal sudah harus ada "session_start" untuk memulai login dengan session
++ seperti biasa kita mengambil nilai "username" dan "password" dan dimasukkan ke variabel nya.
++ ada pengecekan untuk memastikan bahwa username dan password tidak boleh kosong
++ yang terpenting adalah yang "$_SESSION[user]=$user;". ini untuk memasukkan username kita ke session
++ link logout ke file "logout.php". isinya untuk menghapus session

berikut kode untuk "logout.php"

------------------ mulai kode PHP ------------------

<?
session_start();
$destroy=session_destroy(); //ini yang penting. menghapus session
if($destroy) //jika session berhasil dihapus
{
header("Location:login.php"); //dikembalikan ke file login.php
}
else
{
echo "not destroyed";
}

?>

------------------ akhir kode PHP ------------------

oke.. selesai dulu cara Membuat Login Dengan PHP tanpa tabel MySQL. Artikel ini masih dasarnya login. Karena di sini belum dibahas cara membuat halaman web yang hanya bisa diakses jika sudah login. Misal, kaya facebook dimana halaman update status, edit profil dan sebagainya hanya bisa diakses jika kita sudah login. Kalau belum login gak bisa diakses kan?

Nah, di artikel ini belum dibahas sampai situ. Insya Allah di artikel selanjutnya akan saya bahas. Komentarnya ditunggu. Kalau bingung silakan tanya.

3 komentar:

  1. gan artikel yang login-nya bisa mengakses halaman web udah ada?
    tapi username ngambil dr database mysql sama form registernya.

    klo bisa sih databasenya pake phpmyadmin yah :D

    klo bisa balas via email ya gan email : wongculas@gmail.com

    BalasHapus
  2. gan, kalo pake ini (Login dengan PHP tanpa tabel MYSQL) kalau buat username 3 orang atau lebih gimana ya? penambahan kodenya di proses_login.php pake variabel if atau apa. mohon pencerahannya beserta script proses_login.php yang lengkap. ke email saya gan. ==trijayaness@gmail.com== thanks sebelumnya.

    BalasHapus