salam semangat ya buat kalian yang sedang berkunjung blog sya yang jelek ini ,kali ini saya mau posting , tentang cara membuat aplikasi login yang mengunakan session timing ,jadi kalo umpamanya ,kalian login ke sebuah halaman, nah waktu kalian masuk itu timing sudah berjalan , yang akan membuat kalian logout sendiri sessuai waktu yang telah di tentukan
nah langsung mulai aja ya guys pertama kita berdoa dulu :0
download dulu database nya lalu di impor . download disini
selanjutnya untuk mengawalinya kita buat dulu index.php
<?php
include "pros.php";
?>
<html>
<title>session timing</title>
<head>
<script language="javascript">
function cek(){
var user= document.getElementById('userid').value;
var pass= document.getElementById('passwd').value;
if(user.replace(/^\s+|\s+$/g, '')==''){
alert('Username Harus Diisi!');
return false;
}
if(pass.replace(/^\s+|\s+$/g, '')==''){
alert('Password Harus diisi!');
return false;
}
return true;
}
</script>
</head>
<form action="index.php" method="post">
<table width="251" height="101" border="0" align="center">
<tr valign="bottom">
<td width="104" height="35"><font size="4" face="verdana">Username</font></td>
<td width="137"><input type="text" name="username" size="20" id="userid"></td>
</tr>
<tr valign="top">
<td height="34"><font size="4" face="verdana">Password</font></td>
<td><input type="password" name="password" size="20" id="passwd"></td>
</tr>
<tr>
<td><a href="register.php">Register</a></td>
<td><input name="submit" type="submit" onClick="return cek()" value="LOGIN"></td>
</tr>
</table>
</form>
</body>
</html>
kalo udah copy script diatas selanjutnya, simpan dengan nama index.phpinclude "pros.php";
?>
<html>
<title>session timing</title>
<head>
<script language="javascript">
function cek(){
var user= document.getElementById('userid').value;
var pass= document.getElementById('passwd').value;
if(user.replace(/^\s+|\s+$/g, '')==''){
alert('Username Harus Diisi!');
return false;
}
if(pass.replace(/^\s+|\s+$/g, '')==''){
alert('Password Harus diisi!');
return false;
}
return true;
}
</script>
</head>
<form action="index.php" method="post">
<table width="251" height="101" border="0" align="center">
<tr valign="bottom">
<td width="104" height="35"><font size="4" face="verdana">Username</font></td>
<td width="137"><input type="text" name="username" size="20" id="userid"></td>
</tr>
<tr valign="top">
<td height="34"><font size="4" face="verdana">Password</font></td>
<td><input type="password" name="password" size="20" id="passwd"></td>
</tr>
<tr>
<td><a href="register.php">Register</a></td>
<td><input name="submit" type="submit" onClick="return cek()" value="LOGIN"></td>
</tr>
</table>
</form>
</body>
</html>
--------------------------------------------------------------------------------------
nah lanjut ke proses selanjutnya kita buat pros.php
<?php session_start();
if (isset($_POST['submit']))
{
include ("conn.php");
//pintu masuk sql injection dan xss
$username=$_POST['username'];
$password=$_POST['password'];
//jika kemungkinan query menggunakan awalan kutip satu ', maka inject dengan kutip dua "
//echo "QUERY : ".$query='select * from admin where username="'.$username.'" and password=MD5("'.$password.'")';
//jika kemungkinan query menggunakan awalan kutip dua ", maka inject dengan kutip satu '
echo "QUERY : ".$query="select * from admin where username='$username' and password=MD5('$password')";
echo "<br>";
$login=mysql_query($query);
$cek_login=mysql_num_rows($login);
if ($cek_login)
{
//daftarkan ID jika user dan password BENAR
$row=mysql_fetch_array($login);
$id=$row['id'];
$nama=$row['nama'];
$_SESSION['id']=$id;
$_SESSION['nama']=$nama;
//panggil fungsi untuk membuat waktu session awal
login_validate();
echo "<script>
window.location='home.php';</script>";
?><a href="home.php">Forward to Home Admin</a><?php
}else{
echo "<br>STATUS : Password Anda salah!";
}
}
?>
lalu simpan code diatas dengan nama pros.phpif (isset($_POST['submit']))
{
include ("conn.php");
//pintu masuk sql injection dan xss
$username=$_POST['username'];
$password=$_POST['password'];
//jika kemungkinan query menggunakan awalan kutip satu ', maka inject dengan kutip dua "
//echo "QUERY : ".$query='select * from admin where username="'.$username.'" and password=MD5("'.$password.'")';
//jika kemungkinan query menggunakan awalan kutip dua ", maka inject dengan kutip satu '
echo "QUERY : ".$query="select * from admin where username='$username' and password=MD5('$password')";
echo "<br>";
$login=mysql_query($query);
$cek_login=mysql_num_rows($login);
if ($cek_login)
{
//daftarkan ID jika user dan password BENAR
$row=mysql_fetch_array($login);
$id=$row['id'];
$nama=$row['nama'];
$_SESSION['id']=$id;
$_SESSION['nama']=$nama;
//panggil fungsi untuk membuat waktu session awal
login_validate();
echo "<script>
window.location='home.php';</script>";
?><a href="home.php">Forward to Home Admin</a><?php
}else{
echo "<br>STATUS : Password Anda salah!";
}
}
?>
-------------------------------------------------------------------------------------
lanjut lagi , berikutnya kita buat conn.php
<?php
//untuk setting
$host="localhost";
$user="root";
$pass="";
$db="sessionti";
//untuk setting error display
ini_set('display_errors',FALSE);
//untuk koneksi
$koneksi=mysql_connect($host,$user,$pass);
$koneksi_db=mysql_select_db($db,$koneksi);
$tanggal=date("Y-m-d H:i:s");
//cek koneksi server
if($koneksi){
//echo "Berhasil koneksi server<br>";
}else{
?><script language="javascript">alert("Gagal Koneksi Server MySQL!")</script><?php
}
//cek koneksi database
if($koneksi_db){
//echo "Berhasil koneksi database";
}else{
?><script language="javascript">alert("Gagal Koneksi Database MySQL!")</script><?php
}
//fungsi untuk outomatik logout
function login_validate() {
//ukuran waktu dalam detik
$timer=30;
//untuk menambah masa validasi
$_SESSION["expires_by"] = time() + $timer;
}
function login_check() {
//mengambil nilai session pertama
$exp_time = $_SESSION["expires_by"];
//jika waktu sistem lebih kecil dari nilai waktu session
if (time() < $exp_time) {
//panggil fungsi dan tambah waktu session
login_validate();
return true;
}else{
//jika waktu session lebih kecil dari waktu session atau lewat batas
//unset session
unset($_SESSION["expires_by"]);
return false;
}
}
?>
simpan code diatas dengan nama conn.php //untuk setting
$host="localhost";
$user="root";
$pass="";
$db="sessionti";
//untuk setting error display
ini_set('display_errors',FALSE);
//untuk koneksi
$koneksi=mysql_connect($host,$user,$pass);
$koneksi_db=mysql_select_db($db,$koneksi);
$tanggal=date("Y-m-d H:i:s");
//cek koneksi server
if($koneksi){
//echo "Berhasil koneksi server<br>";
}else{
?><script language="javascript">alert("Gagal Koneksi Server MySQL!")</script><?php
}
//cek koneksi database
if($koneksi_db){
//echo "Berhasil koneksi database";
}else{
?><script language="javascript">alert("Gagal Koneksi Database MySQL!")</script><?php
}
//fungsi untuk outomatik logout
function login_validate() {
//ukuran waktu dalam detik
$timer=30;
//untuk menambah masa validasi
$_SESSION["expires_by"] = time() + $timer;
}
function login_check() {
//mengambil nilai session pertama
$exp_time = $_SESSION["expires_by"];
//jika waktu sistem lebih kecil dari nilai waktu session
if (time() < $exp_time) {
//panggil fungsi dan tambah waktu session
login_validate();
return true;
}else{
//jika waktu session lebih kecil dari waktu session atau lewat batas
//unset session
unset($_SESSION["expires_by"]);
return false;
}
}
?>
-----------------------------------------------------------------------------------
lalu kita buat logout nya
<?php session_start();
if (isset($_SESSION['id']))
{
session_destroy();
?><script language="javascript">
document.location="index.php";
</script><?php
}else{
?><script language="javascript">
alert("Maaf, Anda tidak berhak mengakses halaman ini!!");
document.location="index.php";
</script>
<?php
}
?>
simpan code diatas dengan nama logout.phpif (isset($_SESSION['id']))
{
session_destroy();
?><script language="javascript">
document.location="index.php";
</script><?php
}else{
?><script language="javascript">
alert("Maaf, Anda tidak berhak mengakses halaman ini!!");
document.location="index.php";
</script>
<?php
}
?>
----------------------------------------------------------------------------------
setelah selesai nih masih buat lagi register
yang akan digunakan jika anda belum memliki akun
<?php
include "conn.php";
if(isset($_POST['submit'])){
$nama=$_POST['nama'];
$email=$_POST['email'];
$kelamin=$_POST['kelamin'];
$username=$_POST['username'];
$password=md5($_POST['password']);
$query=mysql_query("insert into admin values ('','$nama','$email','$kelamin','$username','$password')");
if($query){
?><script language="javascript">alert("Anda berhasil daftar");</script><?php
?><script language="javascript">document.location.href="index.php";</script><?php
}else{
echo mysql_error();
}
}else{
unset($_POST['submit']);
}
?>
<html>
<head>
<title>Register Admin</title>
</head>
<body>
<form action="register.php" method="post">
<table border="0">
<tr><td>Nama</td><td><input type="text" name="nama" size="30"/></td></tr>
<tr><td>Email</td><td><input type="text" name="email" size="30" /></td></tr>
<tr><td>Kelamin</td><td><input type="radio" name="kelamin" value="pria" />Pria <input type="radio" name="kelamin" value="wanita" />Wanita</td></tr>
<tr><td>Username</td><td><input type="text" name="username" size="30" /></td></tr>
<tr><td>Password</td><td><input type="password" name="password" size="30" /></td></tr>
<tr><td><a href="index.php">Back to login</a></td><td><input type="submit" name="submit" value="Register" /></td></tr>
</table>
</form>
</body>
</html>
simpan code diatas dengan nama register.phpinclude "conn.php";
if(isset($_POST['submit'])){
$nama=$_POST['nama'];
$email=$_POST['email'];
$kelamin=$_POST['kelamin'];
$username=$_POST['username'];
$password=md5($_POST['password']);
$query=mysql_query("insert into admin values ('','$nama','$email','$kelamin','$username','$password')");
if($query){
?><script language="javascript">alert("Anda berhasil daftar");</script><?php
?><script language="javascript">document.location.href="index.php";</script><?php
}else{
echo mysql_error();
}
}else{
unset($_POST['submit']);
}
?>
<html>
<head>
<title>Register Admin</title>
</head>
<body>
<form action="register.php" method="post">
<table border="0">
<tr><td>Nama</td><td><input type="text" name="nama" size="30"/></td></tr>
<tr><td>Email</td><td><input type="text" name="email" size="30" /></td></tr>
<tr><td>Kelamin</td><td><input type="radio" name="kelamin" value="pria" />Pria <input type="radio" name="kelamin" value="wanita" />Wanita</td></tr>
<tr><td>Username</td><td><input type="text" name="username" size="30" /></td></tr>
<tr><td>Password</td><td><input type="password" name="password" size="30" /></td></tr>
<tr><td><a href="index.php">Back to login</a></td><td><input type="submit" name="submit" value="Register" /></td></tr>
</table>
</form>
</body>
</html>
----------------------------------------------------------------------------------
kalau sudah dibuat ini yang terahkir dan selamanya :v buat home.php
<?php session_start();
if (isset($_SESSION['id']))
{
include "conn.php";
//fungsi cek waktu session. jika bernilai false atau tidak true
if (!login_check()) {
//alihkan user ke halaman logout
?><script language="javascript">document.location.href='logout.php';</script><?php
exit(0);
}
?>
<html>
<head>
<meta content='35' http-equiv='refresh'/>
<title>[Admin]</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<style type="text/css">
<!--
.style2 {
font-family: "comic Sans MS";
font-size: 14px;
}
.style3 {
font-family: Arial, Helvetica, sans-serif;
font-style: italic;
}
.style4 {font-family: Arial, Helvetica, sans-serif}
.style5 {
color: grape;
font-weight: bold;
}
-->
</style>
</head>
<body background="./img/background.jpg">
<p> </p>
<table border="0" align="center" bgcolor="green">
<tr>
<td width="501">
<table width="547" height="368" border="0" align="center">
<tr>
<td width="444" height="32" align="center" valign="top" class="style4">Selamat Datang <?php echo ucwords($_SESSION['nama']);?>
</td>
</tr>
<tr>
<td height="21" align="center" body background="rgba(0,0,0,0.1)"><a href="logout.php" class="style5" title="Keluar" onClick="return confirm('Apakah anda yakin?')">Menu Logout</a></td>
</tr>
<tr>
<td height="260" align="center" bgcolor="#0099FF">
<span class="style3"><img src="img/ln.png"/></br>berhasil </span></td>
</tr>
<tr>
<td height="45"><div align="center" class="style2">Copyright © chulis developer</div></td>
</tr>
</table>
</td>
</tr>
</table>
<p> </p>
</body>
</html>
<?php
}else{
?><script language="javascript">
alert("Maaf, Anda tidak berhak mengakses halaman ini!!");
document.location="index.php";
</script>
<?php
}
?>
simpan dengan nama home.phpif (isset($_SESSION['id']))
{
include "conn.php";
//fungsi cek waktu session. jika bernilai false atau tidak true
if (!login_check()) {
//alihkan user ke halaman logout
?><script language="javascript">document.location.href='logout.php';</script><?php
exit(0);
}
?>
<html>
<head>
<meta content='35' http-equiv='refresh'/>
<title>[Admin]</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<style type="text/css">
<!--
.style2 {
font-family: "comic Sans MS";
font-size: 14px;
}
.style3 {
font-family: Arial, Helvetica, sans-serif;
font-style: italic;
}
.style4 {font-family: Arial, Helvetica, sans-serif}
.style5 {
color: grape;
font-weight: bold;
}
-->
</style>
</head>
<body background="./img/background.jpg">
<p> </p>
<table border="0" align="center" bgcolor="green">
<tr>
<td width="501">
<table width="547" height="368" border="0" align="center">
<tr>
<td width="444" height="32" align="center" valign="top" class="style4">Selamat Datang <?php echo ucwords($_SESSION['nama']);?>
</td>
</tr>
<tr>
<td height="21" align="center" body background="rgba(0,0,0,0.1)"><a href="logout.php" class="style5" title="Keluar" onClick="return confirm('Apakah anda yakin?')">Menu Logout</a></td>
</tr>
<tr>
<td height="260" align="center" bgcolor="#0099FF">
<span class="style3"><img src="img/ln.png"/></br>berhasil </span></td>
</tr>
<tr>
<td height="45"><div align="center" class="style2">Copyright © chulis developer</div></td>
</tr>
</table>
</td>
</tr>
</table>
<p> </p>
</body>
</html>
<?php
}else{
?><script language="javascript">
alert("Maaf, Anda tidak berhak mengakses halaman ini!!");
document.location="index.php";
</script>
<?php
}
?>
nah untuk mengatur waktu lamanya sessorang akan logout sendiri bisa anda lihat pada
conn.php pada line ke 35
dan ganti angka nya itu dalam hitungan sattuaan detik
namun kalau anda males untuk menulis script diatas anda bisa download disini
semoga berhasil selamat belajar ya
salam sayang ;)
Tidak ada komentar:
Posting Komentar