Anda di halaman 1dari 10

17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev

NEW!! Buku Query MySQL Lihat Detail x

Tutorial Web Development

Home PHP Tutorial Memahami Session Pada PHP dan


Search...
Penggunaannya

Memahami Session Pada E-Book


PHP dan Penggunaannya Eksklusif

Agus Prawoto Hadi 15-11-2015

PHP Tutorial

Apa itu Session Pada PHP

Dalam PHP, session merupakan data yang disimpan


dalam suatu server yang dapat digunakan secara global
di server tersebut, dimana data tersebut spesi k
merujuk ke user/client tertentu, contoh penggunaan
session adalah ketika user telah login di halaman
tertentu, maka ketika membuka halaman lain, php akan
mengingat bahwa user tersebut telah login, contoh Kupas Tuntas
ketika kita telah login pada Google, maka setiap kali kita Teknik Olah Data
membuka layanan Google seperti GMail, Google Drive,
Dengan Query
MySQL
dll di tab berbeda, kita akan selalu dalam keadaan login,
kecuali kita buka dengan browser yang berbeda.Cntoh
lain ketika web ecommerce merekam keranjang belanja
user, maka ketika pindah ke halaman pembayaran,
daftar belanja masih terekam.

I. Cara Kerja Session Pada PHP

Ketika kita memulai session dengan menjalankan


perintah session_start() maka PHP akan
menjalankan perintah baik pada server maupun
padaclient/user.

Sisi Server
http://jagowebdev.com/memahami-session-pada-php/ P d 1/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev
Sisi Server
Panduan
Lengkap Query
Dari sisi serverphp akan membuat leyang kita sebut
MySQL - Tutorial
le session yang diawali dengan sess_ dan diikuti dan Referensi
dengan ID session, dimana ID Session tersebut Lengkap Query
mereferensikan id session yang ada di browser client. MySQL
nilai ID session adalah:

Jika browser mengijinkan penggunaan cookie,


maka ID session berupa angka acak sebanya 26
karakter hexadesimal, contoh: 1g7vcm79tg4869tp8u53
gldl02

Jika browser tidak mengijinkan penggunaan cookie


Jika nama session ada di url, maka nilai ID Session
sama dengan id yang ada di url, misal
http://jagowebdev.com?
page=login&PHPSESSID=1234, maka ID Session yang
digunakan adalah 1234, sehingga nama le session
yang dibuat sess_1234 , Namunjika ID Session tidak Like Us
ada di URL, maka PHP akan membuat le dengan ID
Session sama seperti sebelumnya yaitu 26 karakter Twitter
hexadesimal, le ini akan dibuatsetiap kali perintah Ikuti
session_start() dijalankan, dan tidak ada referensi
ke user/client.

Terus dimanaphp menyimpan le session tersebut? le


tersebut secara default disimpan didalam direktori Social
temporary dimana letak direktory ini tergantung dari
masing-masing sistem opersi yang digunakan. untuk
mengetahui dimana php menyimpan le session, dapat
Facebook

menggunakan perintah: session_save_path() Misal


Twitter
kita buat le session.php dan simpan ke dalam
htdocs/tutorial, selanjutnya tuliskan kode berikut:

Google
Plus
1 <?php echo session_save_path(); ?>
RSS
Ketika kita jalankan le tersebut di komputer yang
menggunakan sistem operasi windows, contoh output
yang dihasilkan adalah E:\xampp-1.8.3.2\tmp
(k omputer saya), jika kita buka direktori tersebut, Dapatkan update
disana kita temukan banyak le .tmp, cari nama dengan artikel terbaru via E-
awalan sess_ , le tersebut merupakan le session. Mail

http://jagowebdev.com/memahami-session-pada-php/ N L k 2/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev
Nama Lengkap

Gambar 1. Contoh File Session


Email

Sisi User/Client
Langganan

Selanjutnya dari sisi client/user, php akan:

Jika browser mengijinkan penggunaan cookie


Membuat le cookie dengan nama default yaitu
PHPSESSID dengan nilai (value) ID session, lokasi
Artikel Pilihan
penyimpanan le tersebut berbeda beda tergantung
jenis browser yang digunakan, untuk google chrome Membuat
lokasi cookie berada di:C:\Users\<NAMA Tabel
USER>\AppData\Local\Google\Chrome\User
Responsive
Data\Default dengan nama le Cookie, namun kita
Dengan CSS 4
tidak dapat membukanya secara langsung,
Alternatif
melainkan harus menggunakan SQLite, kita dapat
membaca isinya melalui Chrome Developer Tools,
Cookie
yaitu pada tab Resources bagian Cookies, contoh
Pada PHP
seperti gambar berikut:

Panduan Lengkap

Gambar 2. Cookie PHPSESSID

Jika kita bandingkan antara gambar 1 dan 2 terdapat


kesamaan nilai Mendesain Form
yaitu 1g7vcm79tg4869tp8u53gldl02 yang merupakan Login Dengan CSS
ID Session, dengan ID ini, maka setiap kali user 3 Clean dan
mengunjungi situs yang sama dan dengan browser Responsive
yang sama, maka server akan selalu menggunakan
data-data yang ada di le sess_1g7vcm79tg4869tp8u53
10 Ide
gldl02 . Desain
Tabel
Jika browser tidak mengijinkan penggunaan cookie
Menarik Dengan
Jika nama session berada di url, maka PHP akan
CSS 3 Fresh
membuat referensi ID Session sesuai dengan yang
Design
ada di URL. Misal: http://jagowebdev.com?
page=login&PHPSESSID=1234, maka php akan
Character
menggunakan data session pada le session sess_1
Set dan
234 . Jika ID session tidak ada di URL maka data
Collation
session hanyadapat digunakan di halaman tersebut
Pada MySQL
saja.
Yakin Sudah
http://jagowebdev.com/memahami-session-pada-php/ 3/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev

Isi File Session Pada PHP Paham?


Isi le session pada PHP berupa array yang di
serialize nilainya akan berubah ubah sesuai dengan Membuat
manipulasi data yang kita lakukan, misal le 15 Efek
session.php kita ubah menjadi: Social
Media Button
Dengan CSS Part I
1 <?php
2 echo session_save_path();
3 session_start();
4 $_SESSION['user'] = 'agusph';
5 $_SESSION['auth'] = 1;
Memahami GET
ketika kita jalankan PHP akan menyimpan data session dan POST Pada
dengan key dan value sesuai dengan yang kita PHP dan HTTP
tentukan, jika kita buka le session tadi menggunakan
notepad, maka akan berisi user|s:6:"agusph";auth|b:
1;, format: nama key diikuti tanda | kemudian data
yang di serialize (tipe data : panjang data(jika ada) : nilai
Memahami
data) dengan tanda pemisah antara data satu dengan
Character Set dan
yang lain menggunakan titik koma. contoh diatas
Character
berarti bahwa s merupakan tipe data string, 6 panjang
Encoding
data, sedangkan b berarti tipe data boelan.

Session selesai

Ketika browser ditutup atau kita menjalankan perintah


session_destroy() maka session berakhir, jika kita Memahami
menggunakan session_destroy() maka le session Session Pada PHP
yang ada pada server akan lansung terhapus, namun dan
jika browser ditutup, le tersebut tidak langsung Penggunaannya
dihapus, server akan menghapusnya pada periode
tertentu, biasanya 30 menit. Ketika browser ditutup,
cookie session pada browser akan langsung terhapus, RECENT RANDOM COMMENT
sehingga session tersebut tidak dapat digunakan lagi
kecuali jika kita mengetahui ID Session nya, maka data
1 Query MySQL di
session tersebut dapat digunakan kembali baik melalui
Dalam PHP Loop
url maupun cookie.
Bad Practice !!!
II. Mengawali/MenjalankanSession Pada PHP

2 Software
Untuk mengawali menjalankan session, seperti pada
Kompres dan
tulisan diatas, kita gunakan perintah session_start()
Optimasi Gambar
yang akan memberitahu server bahwa kita akan
/ Foto (JPG dan
http://jagowebdev.com/memahami-session-pada-php/ 4/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev
(
menggunakan session, selanjutnya server akan PNG) Tested
mengecek apakah pengunjung telah memiliki session
ID:
3 40+ Theme
WordPress Gratis
1 jika ya, maka server akan mengambil data
Untuk Blog
sesuai dengan ID session yang di minta oleh
Modern &
browser (misal di le a.php kita telah
Responsive
menjalankan perintah session_start()
kemudian di le b.php kita jalankan lagi
perintah session_start(), maka ketika 4 Eksklusif Cheat
Sheet PHP
menjalankan le b.php browser akan
Bahasa
mengirimkan ID Session,
Indonesia
sehingga data s ession yang terbentuk
Pendamping
ketika menjalankan le a.php akan dipakai lagi
Belajar PHP
ketika kita menjalankan le b.php),

2 jika tidak, maka server akan membuat le PHP FORM III:


5
session dengan nama sess_ID dan Menampilkan
mengirimkan id tersebut ke browser untuk Data MySQL
dibuatkan cookie. Dengan PHP dan
Form HTML
Karena penggunaan data session harus didahului
dengan perintah session_start() maka perintah ini
6 Tutorial PHP
sebaiknya ditulis di barispaling awal di programkita. Form II:
Menampilkan
III. Menambahkan Data Session Pada PHP
Hasil Input Form
Semua data session disimpan dalam bentuk array HTML dengan
superglobal dengan nama $_SESSION, sehingga seperti PHP
array pada umumnya setiap variabel session disimpan
dalam hubungan key dan value, untuk menambahkan Tutorial PHP
7
data kedalamnya sama dengan ketika kita Form I:
menambahkan data di array biasa, namun bedanya Menghubungkan
variabel $_SESSION akan tetap dapat kita gunakan di Form HTML
le php manapun (dalam satu server) hingga kita dengan PHP
menakhirinyadengan perintah session_destroy()

8 Menampilkan
Contoh untuk menambahkan data session:
Data Dari
Beberapa Tabel
1 <?php MySQL JOIN
2 session_start();
Pada MYSQL
3 $_SESSION['user'] = 'agusph';
4 $_SESSION['role'] = 'admin';
5 $_SESSION['login_time'] = date('Y-m-d'); 9 Memahami dan
i t ($ SESSION)
http://jagowebdev.com/memahami-session-pada-php/
Menampilkan 5/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev
6 print_r($_SESSION); Menampilkan
7 Tanggal dan
8 /* Waktu Pada PHP
9 Output
10 Array
11 ( 10 Menghitung
12 [user] => agusph Selisih Waktu
13 [role] => admin Dengan PHP
14 [login_time] => 2015-09-05 Cara Termudah
15 )
16 */

Kategori
IV. Membaca Data Session Pada PHP

CODE EDITOR 2
Setelah kita menyimpan data pada session, data
tersebut langsung dapat kita gunakan, untuk
memanggil data session pada PHP, seperti kita CSS TUTORIAL21

memanggil data pada array pada umumnya, yaitu


1
dengan key nya, contoh: HTML TUTORIAL

1
1 <?php INSPIRASI
2 $_SESSION['user'] = 'agusph';
3 echo $_SESSION['user']; // agusph 1
JAVASCRIPT
4 ?> TUTORIAL

4
JQUERY
Session yang telah kita isi datanya dapat langsung kita
TUTORIAL
gunakan sehingga lebih banyak
keuntungannyadibanding menggunakan$_COOKIE. 6
LAINNYA
V. Menghapus Data Session Pada PHP
14
MYSQL
Untuk menghapus data session pada php, sama seperti
TUTORIAL
ketika kita menghapus variabel, yaitu menggunakan
perintah unset() contoh berikut menyambung contoh
OPTIMASI WEB3
sebelumnya:

56
PHP TUTORIAL
1 <?php
2 unset($_SESSION['user']);
print_r($_SESSION); PHPMYADMIN6
3
4
5 /* WEB HOSTING2
6 Output
7 Array 7
WEB
8 (
http://jagowebdev.com/memahami-session-pada-php/
OPTIMIZATION 6/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev
OPTIMIZATION
9 [role] => admin
10 [login_time] => 2015-09-05
11 ) WORDPRESS 9
12 */
5
XAMPP
disamping itu kit juga dapat menggunakan perintah se TUTORIAL
ssion_unset() untuk menghapus semua data pada
$_SESSION, contoh:

1 <?php
2 session_start();
3 $_SESSION['user'] = 'agusph';
4 $_SESSION['role'] = 'Admin';
5 session_unset();
6 print_r($_SESSION);
7
8 /*
9 Output
10 Array ()
11 */

perlu diperhatikan bahwa jika menggunakan perintah u


nset() untuk menghapus data session, pilihlah data
secara spesi k, jangan menghapus $_SESSION itu
sendiri ( unset($_SESSION) ), karena akan menghapus
semua isi data session, dan menghapus variabel
$_SESSION itu sendiri, sehingga jika kita panggil akan
memunculkan pesan error bahwa variabel $_SESSION
unde ned. contoh:

1 <?php
2 session_start();
3 $_SESSION['user'] = 'agusph';
4 $_SESSION['role'] = 'admin';
5 $_SESSION['login_time'] = date('Y-m-d');
6 unset($_SESSION);
7 print_r($_SESSION);
8
9 // Notice: Undefined variable: _SESSION

VI. Mengakhiri Session Pada PHP

Untuk mengakhiri session pada PHP, kita gunakan


http://jagowebdev.com/memahami-session-pada-php/ 7/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev

perintah session_destroy() , dengan perintah ini maka


le session akan dihapus dariserver. contohnya ketika
user logout, maka session akan berakhir dan user
diminta untuk login kembali.

VII. Keamanan Session Pada PHP

Dari berbagai manfaat session terdapat beberapa


kelemahan yang bisa menyebabkan kerugian terutama
pada user, yaitu bocornya data-data sensitif ke pihak
yang tidak bertanggung jawab. Untuk membahas
mengenai keamanan session dan bagaimana
mencegahnya, dapat dibaca pada artike berikutnya.

Demikian pembahasan kita mengenai session pada


PHP, semoga bermanfaat.

Recomended Post

Menghitung Penulisan If Else


Selisih Waktu Pada PHP Dengan
Dengan PHP Ternary

Membuat Segitiga, Query MySQL di


Persegi dan Motif Dalam PHP Loop
dengan PHP For... Bad Practice...

Like

Share Bagikan
Tweet Share

http://jagowebdev.com/memahami-session-pada-php/ 8/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev

4 Feedback dari pembaca

Azlan
7 November 2016 at 15:35

Mas, ada tutorial cara myimpan session di


dalam database?

Reply

Agus Prawoto Hadi


7 November 2016 at 18:47

Belum ada mas, belum sempat


menulis tema tersebut

Reply

Yudi Purwanto
25 March 2017 at 20:45

Mas agus,link ke artikel ttg keamanan session


dimana?

Reply

Agus Prawoto Hadi


25 March 2017 at 21:40

Maaf belum ada mas

Reply

Silakan tinggalkan komentar


Your Comment

Name :

http://jagowebdev.com/memahami-session-pada-php/ 9/10
17/10/2017 Memahami Session Pada PHP dan Penggunaannya | JagoWebDev

Email :

Website (optional) :

CAPTCHA Code*

Submit

Copyright 2017 www.jagowebdev.com


HOME ABOUT CONTACT E-BOOK PREMIUM

http://jagowebdev.com/memahami-session-pada-php/ 10/10

Anda mungkin juga menyukai