1. buat statik variabel, statik variabel ini menyimpan variabel user dan password, statik variabel sebagai simulasi dari penggunaan database, pada sistem sebenernya pengecekan username dan password melalui data user di database.
<?php $username="user"; $password=md5('user'); ?>
2. buat form login, form-login.php
<html> <head> <title>Login Dengan Remember me (cookies)</title> </head> <body> <form method="post" action="login.php"> <p><label for="username">Username : <input type="text" name="username" /></label></p> <p><label for="password">Password : <input type="password" name="password" /></label></p> <p><label for="setcookie"><input type="checkbox" name="setcookie" value="true" id="setcookie" /> Remember Me</label></p> <p><input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /></p> </form> </body> </html>
3. buat action untuk form, action ini akan menghandle pengecekan username dan mensetcookie jika fitur remember me di select.
<?php //session start session_start(); //panggil statik variabel username dan password include('statik_variabel.php'); //get post $user = $_POST['username']; $pass = $_POST['password']; //untuk menentukan expire cookie, dihtung dri waktu server + waktu umur cookie $time = time(); //cek jika setcookie di cek set cookie jika tidak '' $check = isset($_POST['setcookie'])?$_POST['setcookie']:''; if(($username==$user)&&($password==md5($pass))) { //jika valid set session 1 $_SESSION['logged'] = 1; //jika remembere me, set cookie if($check) { setcookie("cookielogin[user]",$user , $time + 3600); setcookie("cookielogin[pass]", $pass, $time + 3600); } //redirect member_area header('Location: http://localhost/ngulik/login_remember_me/member_area.php'); exit(); } else { header('Location: http://localhost/ngulik/login_remember_me/'); exit(); } ?>
file login utama merupakan skrip utama untuk menghandle, apakah username dan password yang dimasukkan benar jika benar redirect page ke page "member_area.php", jika salah redirect page ke form-login.php. Selanjutnya cek kembali apakah fitur remember me diaktifkan? jika diaktifkan set cookie dengan nama username, berisi data $username, dengan waktu skrg + 3600 (1 jam dari sekarang).
4. buka kembali file form-login.php, kemudian modifikasi skripnya menjadi.
<html> <head> <title>Login Dengan Remember me (cookies)</title> </head> <body> <?php //masukkan variabel statik, variabel ini merupakan variabel yang username & password, untuk sistem pada realnya //username dan password dapat di cek dari database. include('statik_variabel.php'); //mulai session session_start(); //cek cookie, dalam sistem login sederhana ini, cookie diberinama "cookielogin" if(isset($_COOKIE['cookielogin'])){ //cek cookie login dengan password dan username yang valid //$user = $_COOKIE['cookielogin']['username']; //print_r($user); if(($_COOKIE['cookielogin']['user']==$username)&&($_COOKIE['cookielogin']['pass']==$password)){ print_r($_COOKIE); //jika valid set status login 1 $_SESSION['logged']=1; //redirect ke halaman member area header('Location: http://localhost/ngulik/login_remember_me/member_area.php'); } } ?> <form method="post" action="login.php"> <p><label for="username">Username : <input type="text" name="username" /></label></p> <p><label for="password">Password : <input type="password" name="password" /></label></p> <p><label for="setcookie"><input type="checkbox" name="setcookie" value="true" id="setcookie" /> Remember Me</label></p> <p><input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /></p> </form> </body> </html>
5. buat halaman member_area.php
<?php session_start(); ?> <h1>Selamat Datang di Halaman Member Area.</h1><br/> <a href="logout.php">Logout</a>
6. buat skrip logout.php
<?php session_start(); session_unset(); session_destroy(); if(isset($_COOKIE['cookielogin'])) { $time = time(); setcookie("cookielogin[user]", $time - 3600); setcookie("cookielogin[pass]", $time - 3600); } header('Location: http://localhost/ngulik/login_remember_me/'); exit(); ?>
untuk melakukan testing pada skrip diatas, ketika kita mengaktifkan fitur remember me, kemudian login, kemudian kita close browser. kita akses kembali form-login.php maka akan secara otomatis masuk ke halaman member_area.php, mudah bukan? :D, semoga bermanfaat.
Berkomentarlah dengan baik dan benar Show Konversi KodeHide Konversi Kode Show EmoticonHide Emoticon