Loading

18 Mei 2010

Script PHP auto logout system / logout otomatis


Sesuai dengan request untuk postingan baru dan pertanyaan dari salah satu pengunjung blog kami .... yaitu script untuk

membuat sistem logout otomatis jika suatu account sudah login kemudian ia login kembali dengan browser yang berbeda, maka

pada artikel ini akan membahas permasalahan tersebut.

Disini saya tidak menggunakan username dengan password yang dinamis, saya menggunakan username dengan password statis

(untuk mempermudah tutorial saja). Username yang digunakan disini yaitu "catment" dengan password "qwerty" tanpa tanda

petik.

Untuk kali ini saya hanya membuat sistem yang sederhana saja.

Sebelumnya kita buat halaman konfigurasi database, simpan dengan nama db_config.php

<?php
$hostname_conn="localhost"; //hostname
$username_conn=""; //username database
$password_conn=""; //password
$db_conn=""; //nama database yang digunakan
mysql_connect($hostname_conn,$username_conn,$password_conn,$db_conn) or die ("Koneksi gagal!");
mysql_select_db($db_conn);
?>
Selanjutnya buat halaman login yang disini saya buat sekaligus menjadi halaman index, maka beri nama halaman ini dengan

index.php
<?php
session_start();
include"db_config.php";
include"session.php";
if($_SESSION['login_stat']=="fail")
{
echo"$_SESSION[message]<hr />";
unset($_SESSION['login_stat'],$_SESSION['message']);
}
?>
<form action="login_proses.php" method="post">
Username - Password : <input type="text" name="username" /> - <input type="password" name="pass" /> <input

type="submit" name="act" value="Login" />
</form>

Selanjutnya halaman proses login maupun logout (saya buat jadi 1file), beri nama dengan login_proses.php

<?php
session_start();
include"db_config.php";
$username=$_POST['username'];
$pass=$_POST['pass'];
$act=$_POST['act'];
$do=$_GET['do'];
/**login**/
if(isset($_REQUEST['act']) && $act=="Login")
{
if($username=="catment" && $pass=="qwerty") //misalkan username dan password yg sesuai yaitu user "catment" dengan

password "qwerty"
{
$sesi=md5(microtime());
/*cek data login sblmnya*/
$command="SELECT * FROM log_login WHERE username='$username'";
$row=mysql_fetch_array(mysql_query($command));
if($row[username]!=="")
{
$command="DELETE FROM log_login WHERE username='$row[username]'";
$delete=mysql_query($command);
}
/*--------*/
/*input database*/
$command="INSERT INTO log_login VALUES ('$username','$sesi')";
$input=mysql_query($command);
/*--------*/
/*cek input database*/
if($input==1)
{
$_SESSION['username']="$username";
$_SESSION['login_stat']="ok";
$_SESSION['sesi']=$sesi;
$_SESSION['message']="Welcome, $username..!! [<a href='login_proses.php?do=logout'>Logout</a>]";
header("Location: index.php");
}
else
{
$_SESSION['login_stat']="fail";
$_SESSION['message']="Maaf ada gangguan, silahkan coba login kembali.";
header("Location: index.php");
}
/*--------*/
exit();
}
else
{
header("Location: index.php");
$_SESSION['login_stat']="fail";
$_SESSION['message']="Maaf username dengan password salah!!";
exit();
}
}
/**--------**/
/**logout**/
if($do=="logout")
{
/*delete database*/
$command="DELETE FROM log_login WHERE username='$_SESSION[username]'";
$delete=mysql_query($command);
/*--------*/
/*cek delete database*/
if($delete==1)
{
session_destroy();
header("Location:index.php");
}
else
{
echo"Maaf logout gagal! Ada gangguan, silahkan coba <a href='login_proses.php?do=logout'>logout</a> kembali.";
}
/*--------*/
}
/**--------**/
?>

Dan terakhir adalah membuat halaman session.php

<?php
$command="SELECT * FROM log_login WHERE username='$_SESSION[username]'";
$row=mysql_fetch_array(mysql_query($command));
if($_SESSION['login_stat']=="ok" && $_SESSION['sesi']==$row[sesi])
{
echo"$_SESSION[message]<hr />";
exit();
}
if($_SESSION['login_stat']=="ok" && $_SESSION['sesi']!==$row[sesi])
{
session_destroy();
}
?>

Untuk tabel database yang saya gunakan yaitu:
CREATE TABLE `log_login` (
`username` varchar(100) NOT NULL default '',
`sesi` varchar(32) NOT NULL default '',
PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Maka tabelnya akan seperti ini:

Untuk mencoba demonya silahkan buka catment.co.cc/demo/login
Untuk mendownload file yang sudah jadi secara lengkap silahkan [DOWNLOAD]

1 comments:

Unknown mengatakan...

Wah terima kasih kak atas artikelnya membantu, apalagi khusus saya yang sedang belajar codingan. Artikelnya simple, tapi penyampaiannya kurang rapi. Tapi sangat bermanfaat bagi saya. Terima kasih kak! Saya Aurellita jangan lupa kunjungi website kampus saya ISB atma luhur di https://www.atmaluhur.ac.id

Posting Komentar

Untuk konsultasi, tanya-tanya tentang web programming, php, ajax, mysql, javascript, html, script bisa komen disini.
Untuk proyek atau tugas tentang web bisa komen disini.
Atau dapat langsung hubungi kami:
Email:
tawank.x@gmail.com
bobybibbob@gmail.com

YM:
tawank_x
bobybibbob