Fungsi Session pada PHP

PHP adalah bahasa pemrograman yang diproses di server. PHP menerima request dari siapa pun dan di halaman mana pun, tanpa menandai siapa yang mengirim request. Sementara untuk menyiapkan informasi (response) terkadang sebuah halam web perlu mengetahui siapa yang mengakses halamannya agar informasi yang disajikan tepat sasaran. Oleh karena itu, maka diperlukanlah sebuah session.

Session biasanya digunakan pada login, yaitu sebuah halaman yang mendefenisikan siapa yang mengakses halaman-halaman pada web nantinya. Session hampir sama dengan variabel-variabel lainnya, hanya saja nilainya bertahan lebih lama dan dapat diakses di semua halaman website. Hal tersebut karena nilai session disimpan di server untuk beberapa waktu. Jika seorang memasukkan nilai ke dalam variabel session, maka hanya orang tersebut yang dapat dapat menggunakan nilainya. Variabel session lebih aman dari pada cookies karena penyimpanannya di server.

#Cara Membuat Session
session_start();
$_SESSION['nama']='Budi';

Session_start() adalah fungsi yang harus dipanggil untuk memulai peng-akses-an session. Cara di atas menunjukkan kita telah mengisi sebuah variabel session dengan indeks nama berisi Budi. Misalkan yang membuat session adalah google chrome, maka session nama tidak akan di kenali di mozilla firefox. Jika mozilla membuat session nama dengan isi Lisa juga, maka nilai Lisa juga hanya berlaku untuk Mozilla saja tanpa menimpa session si google chrome, ini dikarenakan variabel session berupa array.

#Cara Menggunakan Session
session_start();
$_SESSION['nama'];

Di halaman mana saja, di tempat (browser) pembuatan variabel session, maka variabel session bisa digunakan setelah pemanggilan fungsi session_start();.

#Cara Menghapus Session
session_start();
unset($_SESSION['nama']); // untuk menghapus variabel session nama.
session_destroy(); // untuk menghapus semua variabel session.

Menghapus sebuah session hanya akan menghapus  session milik pembuatnya saja. Contohnya jika seorang logout maka hanya dirinya saja yang logout karena variabel dia saja yang nilainya terhapus.

#Contoh Pembuatan Session Pada Login
<!-- login.php -->
<form action="" method="POST">
 Username<input type="text" name="username"> <br>
 Password<input type="password" name="password"><br>
 <input type="submit" value="login">
</form>

<?php
if (isset($_POST['username']) or isset($_POST['password'])){
$username=$_POST['username'];
$password=$_POST['password'];
if ($username=='Budi' and $password=='123'){
session_start();
$_SESSION['id']='1';
$_SESSION['nama']='Budi';
header("location:home.php");
}else{
echo "Login Gagal!!";
}
}

?>

#Contoh Penggunaan Session Pada Halaman
<!-- home.php -->
<?php
session_start();
if(!isset($_SESSION['id'])){
header("location:login.php");
}
echo "Selamat Datang ". $_SESSION['nama'];
?>
<br><a href="logout.php">Logout</a>

#Contoh Penghapusan Session Pada Logout
<!-- logout.php -->
<?php
session_start();
session_destroy();
header("location:login.php");
?>

Terima Kasih Telah Membaca.

Popular posts from this blog

Cara Menggunakan Template Admin LTE Sebagai Template Web Dinamis

Aplikasi CRUD menggunakan Template Admin LTE

Cara membuat Link ke Halaman lain dan Link ke bagian Halaman