Wednesday, April 21, 2010

Code PHP Halaman Autentikasi Menggunakan Session

Sebelum kita membahas halaman Autentifikasi, alangkah baiknya jika kita menbahas dasar-dasar pada pemrograman PHP Khususnya pada pembahasan cookie dan session, Apa itu cookie? apa itu session?. Nah langsung saja Kita Bahas... Pada dasarnya cookie merupakan mekanisme untuk meletakkan data pada remote browser sehingga memudahkan penelusuran atau identifikasi user. Dapat juga dikatakan bahwa cookie merupakan informasi dalam bentuk teks yang dipertukarkan oleh client dan server, di mana pembuat cookie adalah pihak server. Pada kenyataannya, penggunaan cookie memiliki beberapa masalah atau kendala. Bisa jadi ada browser yang tidak menerima cookie, serta kemungkinan adanya user yang men-disable cookie.  Permasalahan ini merupakan salah satu alasan session PHP menggunakan method cookie/URL ganda.

Salah satu bentuk aplikasi yang sangat memerlukan cookie/session adalah halaman autentikasi. Pada  prinsipnya, autentikasi digunakan untuk memproteksi halaman-halaman sensitif. Untuk mengetahui lebih detail mengenai halaman autentikasi, ikuti langkahlangkah berikut:
1. Buat folder khusus, misalnya autentikasi_cookie.
2. Buat kode untuk halaman index.php.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Autentikasi Halaman</title>
<style type="text/css">
.inner{
margin:200px auto; padding:20px; width:240px; border:1px solid #333;}
</style>
</head>
<body>
<p>
  <?php
ini_set('display_errors', 1);
define('_VALID', 1);
//include file eksternal
require_once('./auth.php');
init_login();
validate();
?>
</p>
<p align="right"><a href="?m=logout">Logout</a></p>
<br/>
<h3 align="center">Simulasi Halaman Admin</h3>
<p align="center">
<a href="?m=logout"></a>
<p align="center">
Menu-menu admin ada di sini
</body>
</html>

3. Buat kode untuk autentikasi dan simpan dengan nama auth.php misalnya.

<?php
defined('_VALID') or die ('not allowed');
//Pemanggilan session
session_start();
function init_login(){
    //Simulasi data account nama dan password
    $nama = 'admin';
    $pass = 'admin'; 

    if (isset($_POST['nama']) && isset ($_POST['pass'])){
        $n = trim($_POST['nama']);
        $p = trim($_POST['pass']);

        if(($n===$nama) && ($p ===$pass)){         

            if(!isset($_SESSION['nlogin']) || !isset($_SESSION['time'])){
                $_SESSION['nlogin'] = $n;
                $_SESSION['time'] = time();
            }
            ?>
            <script type="text/javascript">
            document.location.href="./";
            </script>
            <?php
            }
            else {
                echo 'alert("Nama atau Password Yang Anda Masukkan Salah");';
                return false;
            }
        }
    }

function validate(){
    if(!isset($_SESSION['nlogin']) || !isset($_SESSION['time'])){?>
            <style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
            </style>
           
    <div class="inner">
    <form action="" method="post">
    <table border=0 cellpadding=5>
    <tr>
            <td colspan="2" bgcolor="#000000"><div align="center" class="style1">LOGIN FORM</div></td>
      </tr>
        <tr>
            <td>Nama</td>
            <td><input type="text" name="nama" /></td>
        </tr>
        <tr>
            <td>Password</td>
            <td><input type="password" name="pass" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="E N T E R" /></td>
        </tr>
        <tr>
            <td colspan="2" bgcolor="#000000"><div align="center" class="style1">========================</div></td>
      </tr>
    </table>
    </form>
    </div>

    <?php
    exit;
    }
    if(isset($_GET['m']) && $_GET['m'] == 'logout'){
    //hapus session
    if(isset($_SESSION['nlogin'])){
        unset($_SESSION['nlogin']);
        }
    if(isset($_SESSION['time'])){
        unset($_SESSION['time']);
        }
    //redireksi halaman
    ?>
    <script type="text/javascript">
    document.location.href="./";
    </script>
    <?php
    }
}
?>

Nah begitulah Code PHP Halaman Autentikasi Menggunakan Session semoga bermanfaat

0 comments:

Post a Comment

 

Hyato_Mahasiswa Malang