Seringkali dalam program web, diperlukan data yang bertahan antar halaman web, seperti data login atau data keranjang belanjaan. Untuk data seperti ini, pada PHP dapat menggunakan session atau cookies. Show Menggunakan session sangat sederhana. Seperti menggunakan variabel seperti biasa. Untuk menggunakan session pada PHP, setiap halaman yang menggunakan session harus menyertakan fungsi session_start(): session_start(); Setelah memanggil fungsi session_start(), maka variabel $_SESSION dapat dipergunakan seperti variabel array biasa. <?php session_start(); $_SESSION['login'] = 'Fandi'; ?> Setelah diisi pada suatu halaman PHP, variabel $_SESSION dapat dibaca lagi pada halaman lain <?php session_start(); if (isset($_SESSION['login'])) { echo "sudah login"; } else { echo "belum login"; } Menghapus session pada PHPUntuk menghapus session pada PHP, menggunakan fungsi Untuk menghapus seluruh isi variabel session yang ada, dapat menggunakan fungsi session_destroy(); <?php session_start(); unset($_SESSION['login']); unset($_SESSION['keranjang_belanja']); //atau session_destroy(); ?> Contoh penanganan login pada PHPUntuk lebih memahami session, berikut saya sertakan contoh penanganan login sederhana yang melibatkan penggunaan session. Terdiri dari 3 file, yaitu: login.php, home.php, logout.php 1. login.php<?php session_start(); if (isset($_SESSION['login'])) header('location:home.php'); if (isset($_POST['username'])) { foreach ($_POST as $k=>$v) $$k = $v; if ($username != 'fandi') $error = "Username tidak dikenal"; if (!$error && $password != '12345') $error = "Password salah"; //Gak ada error --> berhasil login if (!$error) { $_SESSION['login'] = $username; header('location:home.php'); } } ?> <html> <head><title>Halaman login</title></head> <body> <form method="post" action=""> Username:<input type="text" name="username" /> Password:<input type="password" name="password" /> <button type="submit">Masuk!</button> </form> </body> </html> 2. home.php<?php session_start(); ?><!DOCTYPE html> <html> <head><title>Home</title></head> <body> <?php if (!isset($_SESSION['login'])) { ?> <h2>Maaf Anda belum login.</h2> Harap <a href="login.php">login</a> terlebih dahulu <br /><br /> Anda akan secara otomatis diarahkan ke halaman login dalam 5 detik <script> var anu = function() { window.location = "login.php"; }; setTimeout(anu,5000); </script> <?php } else { ?> <h2>Home</h2> Selamat datang <?= $_SESSION['login'] ?> ke halaman home.<br /> Mohon maaf di sini belum ada apa-apa.<br /> Mungkin Anda bisa langsung <a href="logout.php">logout</a> saja.<br /> Terima Kasih atas kunjungannya. <?php } ?> </body> </html> 3. logout.php<?php session_start(); unset($_SESSION['login']); ?> <html> <head><title>Logout</title></head> <body> <h2>Anda telah berhasil logout</h2> Anda akan otomatis kembali ke <a href="login.php">halaman login</a> setelah 8 detik. <script> var anu = function() { window.location = "login.php"; }; setTimeout(anu,8000); </script> </body> </html> Demikian contoh aplikasi login sangat sederhana. Terdapat beberapa syntax yang belum dijelaskan pada script di atas, antara lain:
Tapi saya percaya Anda dapat mengira-ngira fungsi dari baris-baris program tersebut. Dan bila memang belum paham, dapat melakukan googling. Karena Googling adalah suatu ilmu rahasia, jurus tingkat tertinggi dalam belajar pemrograman. Salam koding :) Session Sama halnya dengan variabel, session juga digunakan untuk menyimpan suatu nilai. Yang membedakan yaitu session dapat diakses oleh file lain selama session belum dihapus atau browser belum ditutup. Session biasanya digunakan untuk pembuatan halaman login. Dengan menggunakan session, dapat dicek apakah user sudah login atau belum. Session dibuat dengan menggunakan superglobal variabel $_SESSION[]. Sebelum menggunakannya, harus menuliskan function session_start(). Sedangkan untuk menghapus session dapat menggunakan function session_destroy(). Atau dengan cara menutup browser, session akan otomatis terhapus. Di bagian ini, kita akan melihat yang berikut ini untuk bekerja dengan session PHP. Ini adalah,
PHP memiliki fungsi built-in bernama session_start (). Fungsi ini digunakan untuk memulai sesi baru atau melanjutkan sesi yang sudah ada. Dengan memulai sesi, ini akan memanggil penangan sesi untuk membaca dan mengembalikan data sesi saat ini dengan menggunakan fungsi callback. Pada PHP versi 7, fungsi ini dapat memiliki array opsi asosiatif sebagai argumennya. Dengan menggunakan opsi ini, kita dapat menimpa konfigurasi sesi default. Array $ _SESSION digunakan untuk membuat variabel sesi. Dalam kode berikut, saya telah membuat sesi baru dengan indeks bernama tagName. session_start (); Setelah data disimpan dalam variabel sesi, maka data tersebut berada dalam cakupan global dan dapat diakses dari file PHP apa pun. session_start (); PHP menyediakan fungsi untuk menghapus data sesi yang ada. Yaitu, session_destroy (), session_unset () dan banyak lagi. Fungsi session_destroy () digunakan untuk menghapus semua data sesi saat ini. Setelah menghancurkan sesi, kita harus memuat ulang halaman untuk melihat bahwa sesi dihapus. Untuk membuat aksi session_destroy () menunjukkan efek langsung, kita bisa memanggil fungsi session_unset () atau unset () untuk menghapus data sesi. Kode menunjukkan contoh untuk menghapus variabel sesi. session_start
(); Cookie Hampir sama dengan session, namun data dari cookie tidak akan terhapus ketika browser ditutup. Data cookie akan terhapus setelah batas waktu yang telah ditentukan. Cara membuat cookie yaitu dengan menggunakan function setcookie() dan cara penulisannya yaitu setcookie(nama_cookie, nilai, batas_waktu). Batas waktu cookie dihitung dengan satuan detik. Untuk menampilkan sebuah cookie dapat menggunakan superglobal variabel $_COOKIE[nama_cookie]. Fungsi Cookie :
Jenis Cookie :
Di PHP, kita bisa mengatur cookie dengan menggunakan fungsi setcookie (), setrawcookie () atau header (). setrawcookie () sama dengan setcookie (), tetapi berbeda dengan menyetel nilai mentah cookie dengan header tanpa encoding. Fungsi ini harus digunakan sebelum mengirimkan keluaran apapun ke browser. Jika tidak, data cookie tidak akan disetel dengan informasi header. Saat menyetel cookie, diperlukan informasi seperti nama cookie, domain, waktu kedaluwarsa, dan lainnya. Kode berikut menunjukkan contoh penggunaan untuk mengatur cookie dengan menggunakan fungsi header () dan setcookie (). Cookie PHP dapat diakses dengan menggunakan variabel $ _COOKIE. Selain itu, kita dapat menggunakan fungsi superglobals lain seperti $ _SERVER, $ _ENV dan PHP getenv () untuk mengakses cookie dengan menentukan indeks HTTP_COOKIE seperti yang ditunjukkan pada kode di bawah ini. Tapi, $ _COOKIE memiliki akses terjamin di semua server dibandingkan dengan variabel global lainnya. Karena beberapa konfigurasi server tidak mengizinkan kita mengakses variabel $ _SERVER, $ _ENV. echo $ _COOKIE [“platform”]; // Keluaran: php Apa fungsi dari session pada php?Fungsi session adalah untuk melakukan aktivitas yang berhubungan dengan interaksi user pada sebuah web server php.
Apakah fungsi dari session pada php jelaskan beserta contohnya?Dalam PHP, session merupakan data yang disimpan dalam suatu server yang dapat digunakan secara global di server tersebut, dimana data tersebut spesifik merujuk ke user/client tertentu, contoh penggunaan session adalah ketika user telah login di halaman tertentu, maka ketika membuka halaman lain, php akan mengingat ...
Apakah perbedaan Session_destroy () dan Session_unset ()?session_unset() = untuk menghapus session variabel saja, tidak menghapus session secara keseluruhan dalam artian, tidak perlu deklarasi session_start(). session_destroy() = Untuk menghapus session secara keseluruhan, dan untuk menggunakan session lagi, maka harus deklarasikan session_start() kembali.
Apa yang dimaksud dengan session dan cookies?Perbedaan antara session dan cookie yaitu, session menyimpan data pada sisi server sedangkan cookie menyimpan data pada sisi client dan karena itulah session lebih aman dalam menyimpanan data maupun file dibanding cookie karena penyimpanan dilakukan di sisi server.
|