Minggu, 01 Juli 2012

Membuat login sederhana dengan Session

Membuat login sederhana dengan Session

Sebelum memulai membuat login sederhana dengan session ada baiknya anda tau tentang pengertian session itu sediri. Bagi yang belum tau silahkan lihat pada artikel Pengertian Session Dalam PHP
Seperti kita tau login berfungsi sebagai pengecekan apakah user yang mengakses halaman kita berhak atau tidak. Metode yang saya gunakan disini menggunakan session. Tahapannya adalah sebagai berikut
  1. user memasukkan username dan password (index.php)
  2. melakukan validasi apakan user dan password terdaftar (proses-login.php)
  3. username dan password disimpan kedalam server menggunakan session (proses-login.php)
  4. pengecekan apakah session sudah terdaftar. (user-area.php)
  5. menghapus session yang terdaftar (logout.php)
?
index.php
1
2
3
4
5
6
7
<form action="proses-login.php" method="post">
    <p>username :<br />
    <input type="text" name="username" /></p>
    <p>password :<br />
    <input type="password" name="password" /></p>
    <p><button type="submit">Login</button></p>
</form>
File index.php berfungsi untuk menampilkan form login yang akan diproses dihalaman proses-login.php dengan method post.
?
proses-login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//visit kodephp.com
session_start();
$username_terdaftar = "admin";
$password_terdaftar = "admin";
//cek apakah input telah diisi semua
if(isset($_POST["username"]) and isset($_POST["password"])){
    //cek apakah user terdaftar
    if($_POST["username"]==$username_terdaftar and $_POST["password"]==$password_terdaftar){
        $_SESSION["berhasil_login"]=1;
        $_SESSION["username"]=$_POST["username"];
        $_SESSION["password"]=$_POST["password"];
        header("location:user-area.php");
    }else{
        echo "user dan password salah";
    }
}else{
    echo"data tidak lengkap";
}
File proses.php berfungsi untuk mengecek/memvalidasi apakah user terdaftar dalam daftar user kita. Dalam contoh kali ini saya hanya menggunakan variable. Sedangkan pada implementasinya anda dapat mengambil username dan password tersebut pada database.
Setelah user ditemukan maka user akan didaftarkan dengan session. Dimana session tersebut yang akan menjadi acuan pada halaman user-area. apakah user tersebut mempunyai hak untuk mengakses halaman tersebut.
?
user-area.php
1
2
3
4
5
6
7
session_start();
if(!isset($_SESSION["berhasil_login"]) and !isset($_SESSION["username"]) and !isset($_SESSION["password"])){
    die("anda tidak mempunyai akses ke halaman ini, silahkan <a href=\"index.php\">login</a>");
}else{
    echo "<p>Login berhasil, selamat datang ".$_SESSION["username"]."</p>";
    echo "<p><a href=\"logout.php\">Logout</a></p>";
}
File user-area.php adalah halaman yang dikhususkan untuk member yang telah melakukan proses login. Pada halaman ini terdapat pengecekan apakah session yang didaftarkan pada proses login telah terpenuhi atau tidak. Jika tidak maka proses akan dihentikan dan user diarahkan untuk melakukan login.
?
logout.php
1
2
3
4
5
6
7
session_start();
unset($_SESSION["berhasil_login"]);
unset($_SESSION["username"]);
unset($_SESSION["password"]);
 
session_destroy();
echo "logout berhasil, <a href=\"index.php\">login</a>";
File logout.php berfungsi untuk menghapus semua session yang didaftarkan pada proses login yang telah dilakukan user. Sehingga jika user menekan tombol back maka user tersebut akan dianggap tidak mempunyai hak akses karena semua session telah di hapus pada halaman logout.php.
Catatan :
  1. Contoh login diatas adalah contoh login sederhana. Hanya untuk pemahaman bagaimana login menggunakan session bekerja.
  2. Tidak disarankan mengimplementasikan login ini untuk halaman web anda. Karna jelas banyak bugnya.. hehe
  3. Tunggu halaman login yang ekspert pada artikel selanjutnya.
  4. Silahkan download file diatas pada link dibawah ini. Kalau ada broken link tolong reportnya ya.
 

Tidak ada komentar:

Posting Komentar