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