Session pada PHP


11/10/2016 21:58:49 239

Pada dasarnya cara kerja web ialah ketika klien mengakses suatu web pada web server, informasi klien tidak "dicatat". Kerja web server memberikan memproses permintaan (request) dan memberikan salinan web dari web server ke browser. Untuk mengidentifikasi klien yang mengakses suatu aplikasi web pada web server dapat menggunakan session. Dengan mencatat session dari setiap klien, data tersebut dapat digunakan pada keseluruhan halaman dan dapat digunakan untuk informasi login/otentikasi klien.

Memulai session dan Men-set session

Pada PHP, suatu session disimpan pada variabel global $_SESSION dan setiap halaman PHP harus dimulai dengan session_start(). Variabel global $_SESSION ialah variabel array, sehingga cara memberikan nilai dan mengakses nilainyapun sama dan dapat digunakan dimanapun pada halaman web setelah fungsi session_start(). Sedangkan fungsi session_start() pada suatu halaman web diletakan pada baris setelah tanda buka tag PHP <?php dan tidak boleh ada output apapun sebelumnya. Berikut ialah contohnya:

<?php
session_start();
?>
<html>
    <head>
        <title>PHP SESSION</title>
        </head>
    <body>
        <?php
            $_SESSION['nama'] = "rofil";
            $_SESSION['level'] = "admin";
            echo $_SESSION['level'];
                ?>
        </body>
</html>

Penggunaan

Suatu session akan digunakan pada halaman yang berbeda, misalkan terdapat dua buah halaman hal-1.php dan hal-2.php dengan code hal-1.php sebagai berikut:

hal-1.php

<?php
session_start();

$_SESSION['nama'] = "rofil";
$_SESSION['level'] = "admin";
echo $_SESSION['level'];
?>

untuk mengakses variabel session pada hal-2.php ialah sebagai berikut:

<?php
session_start();
?>
<html>
    <head>
        <title>PHP SESSION</title>
        </head>
    <body>
       Hello  <?php echo $_SESSION['nama']; ?>
        </body>
</html>

Menghapus session

Setelah session tidak lagi digunakan, seperti kasus ketika klien login dan kemudian logout, session akan dihapus. Untuk menghapus session dengan menggunakan fungsi session_destroy() atau satu persatu melakukan unset variabel session dengan fungsi unset($_SESSION['index']). Berikut ialah contohnya:

<?php
session_start();

session_destroy();
?>

atau misalkan untuk menghapus session yang telah diset pada contoh diatas

<?php
session_start();

unset($_SESSION['nama']);

unset($_SESSION['level']);
?>