Apa Itu Session Pada PHP ? Ini Jawabannya dan Contoh Penggunaanya Pada PHP

Halo semua sahabat blog Belajar Pintar PHP, pada awal februari ini saya ingin membagikan kepada anda sebuah ilmu yang sangat penting dan wajib anda kuasai jika anda ingin menjadi web developer, kali ini kita akan membahas cara membuat autentikasi dengan fungsi PHP yaitu Session. Apa itu session dan apa kegunaannya ? tentu anda yang belum paham akan berpikir demikian. Baiklah, secara garis besar dapat kita simpulkan bahwa session pada php pada umumnya digunakan dalam membuat halaman login dan logout, baik itu member maupun admin, dan untuk lebih jelasnya, mari kita bahas satu persatu.

1. Pendahuluan

Autentikasi adalah suatu mekanisme untuk mengatur hak akses suatu halaman web, biasanya diawali dengan adanya proses login. Dimana user diminta menginput user id dan password. Jika berhasil login anda atau user berhak masuk ke suatu halaman, dan jika tidak, anda atau user tidak akan bisa masuk ke halaman tersebut.

Session adalah sebuah varibel sementara yang diletakkan di server. Di mana PHP bisa mengambil nilai yang tersimpan di server walaupun kita membuka halaman baru. Biasanya session akan hilang jika anda menutup browser.
Contoh penggunaan session yang dapat kita lihat dan alami adalah pada proses login facebook, sebenarnya diwaktu anda mengetikkan email anda dan password anda ketika login pada facebook, pertama-tama alamat email dan password anda akan dicek atau dicocokkan oleh facebook dengan alamat email yang tersimpan dalam database facebook, dan jika alamat email dan password anda ditemukan dalam database facebook maka program facebook ini akan menyimpan alamat email dan password anda pada server atau agar anda lebih mengerti, sifacebook akan menyimpannya didalam browser yang anda gunakan baik itu Firefox maupun Google Chrome. Makanya diwaktu kita menutup atau meng-close browser kita dan kita menjalankan kembali browser tersebut akan muncul lagi halaman login. Kenap demikian ? padahal kita sebelumnya sudah melakukan proses login, mungkin dari antara anda semua bertanya demikan, jawabanya adalah karena fungsi yang digunakan pada halaman login facebook adalah fungsi Session tadi, dimana seperti yang saya katakan tadi jika browser ditutup atau diclose, maka session yang didaftarkan tadi akan hilang, dan oleh karena itu maka halaman login facebook tadi nongol lagi. Oke, untuk lebih jelasnya mari kita bahas dibawah ini.

2. Cara Membuat atau Register atau mendaftarkan Session

Cara membuat session adalah sebagai berikut :
  1. Deklarasi awal kalau kita menggunakan session, yaitu menggunakan fungsi session_start()
  2. Set suatu nilai ke variabel $_SESSION
Sebagai contoh, buat suatu halaman php dengan nama "halaman1.php" lalu ketik atau copy script php dibawah ini kedalamnya.

halaman1.php

<?php
session_start();
 
$_SESSION['namauser'] = "ivan";//session yang akan didaftarkan 
//atau disimpan pada server
 
echo $_SESSION['namauser'];
 
echo "<a href='halaman2.php'>Ke Halaman 2</a>";
?>

Catatan :




  • Script Session_start() harus diletakkan pada baris code nomor satu pada editor yang anda gunakan.
  • Kode session_start() harus diletakkan sebelum ada output apapun walaupun hanya spasi, jadi sebaikanya selalu letakkan di bagian paling atas

  • 3. Cara Mengecek Session Telah Teregister atau terdaftar

    Setelah kita me-registerkan variabel $_SESSION seperti yang kita lakukan pada "halaman1.php" tadi, maka untuk mengecek apakah session telah diregister adalah dengan menggunakan fungsi isset().
    Pada contoh di atas (halaman1.php), setelah kita me-register $_SESSION['namauser'], kita akan ke halaman2.php
    Di halaman2.php kita akan cek apakah variabel session telah di register, jika belum kita stop membuka isi halaman2.php

    Sekarang mari kita buat halaman php dengan nama "halaman2.php" lalu tempatkan script php dibawah ini kedalamnya :

    halaman2.php

    <?php
    session_start();
     
    if(!isset($_SESSION['namauser'])){
        //jika session belum di set/register
        die("Anda belum register atau mendaftarkan session");
    }
     
    //jika sudah register kita lanjut dengan mencetak tulisan
    ?>
    <h2>Selamat Datang</h2>
     
    <?php
    echo $_SESSION['namauser'];
    ?>
    Untuk melihat efeknya antara variabel $_SESSION sudah diregister atau belum, coba anda tutup browser, lalu buka lagi browsernya, langsung buka halaman halaman2.php. Tanpa membuka halaman1.php terlebih dahulu, lalu lihat hasilnya, jika sudah sekarang coba anda jalankan "halaman1.php" dan kemudian jalankan "halaman2.php" , maka lihat hasilnya dan perbedaanya. Saran saya, lakukan hal yang sama berulang-ulang seperti langkah yang saya sebutkan diatas dan rubah tulisan "ivan" pada "halaman1.php" tadi dengan nama anda atau nama apa saja, dan lihat hasilnya sekaligus perbedaanya hingga anda dapat mengerti apa itu session. Oke...!!

    4. Cara Un-Register Session (Log Out)

    Setelah kita belajar me-register session, maka cara un-register session adalah dengan menggunakan fungsi unset() , script ini sama halnya dengan membuat logout pada halaman website, namun ini masih contoh kecil dan masih bisa anda kembangkan sesuai dengan kebutuhan anda. Dan untuk membuatnya mari kita buat lagi halaman php dengan nama "logout.php" lalu copy kan script dibawah ini kedalamnya:

    logout.php

    <?php
    session_start();
     
    unset($_SESSION['namauser']);
    ?>
    Jika sudah, maka coba jalankan halaman yang anda buat tadi secara berurutan, pertama coba anda jalankan "halaman1.php" , jika sudah lalu jalankan "halaman2.php" dan lihat tulisan yang mucul pada halamn browser anda, jika anda sudah melihatnya lalu jalankan halaman "logout.php" dan jika semuanya sudah selesai anda jalankan sesuai urutan yang saya katakan, maka refresh atau reload "halaman2.php" tadi dan lihat perbedaannya.
    Saran saya sebagai admin blog ini, agar anda cepat dan dapat dengan mudah mengerti apa itu fungsi session pada php, coba anda ulangi langkah yang saya anjurkan tadi berulang-ulang hingga anda dapat mengerti apa sebenarnya session itu. Sekian untuk kali ini, jangan lupa share dan komentnya.

    15 Komentar

    1. Thanks Infonya, mau tanya dong kalo pengaturan season yang menggunakan timer gimana yaa, misalkan kita buka facebook lalu kita tidak apap2kan tu facebook tanpa menutup browser selama waktu yang di tentukan maka akan meminta login kembali

      thanks b4

      BalasHapus
    2. @M Anto:
      kalau seperti yang anda minta itu tidak menggunakan perintah session, tetapi menggunakan perintah cookie ,,

      saya sudah membuat postingan mengenai penggunaan cookie,, cek saja disini

      http://planetsphp.blogspot.com/2013/02/tutorial-cookie-php-cara-penggunaan.html

      BalasHapus
    3. Untuk session biasanya utk apa saja gan selain login logout?
      thanks postingannya. jd ngerti ttg session, tp utk cth2 yg lain masih bingung

      BalasHapus
    4. @Agung Wiseso:

      contoh2 yang lain yang menggunakan session, adalah

      visit counter seperti yang ada diblog ini ,,

      bisa juga tempat penampung data sementara pada pembuatan web shop online,

      intinya gini sob,,

      session itu bisa dibilang sebuah data yang kita simpan sementara pada browser kita,,

      jika browser kita close,, maka session yg kita simpan tadi akan hilang ,,

      intinya dia masih tersimpan selama browser yang kita gunakan masih dalam keadaan runing ,,

      BalasHapus
    5. klo untuk polling yang menggunakan session tidak bisa kalau login ya?

      BalasHapus
    6. Terimakasih atas rangkuman materinya ttg session yang simple, jelas dan tepat

      BalasHapus
    7. kalau menggunakan session untuk merubah sebagian tampilan menu utama bagaimana ya? agar setelah login tampilan tombol masuknya hilang digantikan nama user saat login? masih agak bingung saya,

      BalasHapus
    8. Bedanya unset() sama session_destroy apa Gan?

      BalasHapus
    9. mas jadi fungsi session ini seperti cookie gitu ya mas
      yang menyimpan suatu variaber sementara ke dalam browser kita

      BalasHapus
    10. Terima kasih , Sangat bermanfaat.

      BalasHapus
    11. Terima kasih atas infonya, gan. Session_start() untuk awal session, $_session[..] untuk set variabel session, kemudian unset($_session[...]) pada logout untuk menghilangkan set pada session.

      Kunjungi blog saya ya: https://tedsu.mahasiswa.atmaluhur.ac.id
      dan website kampus saya: http://www.atmaluhur.ac.id

      BalasHapus
    12. terima kasih sharing ilmunya gan ternyata begini rangkuman materinya ttg session yang simple, jelas dan tepat ....

      BalasHapus
    13. terima kasih sharing ilmunya gan ternyata begini rangkuman materinya ttg session yang simple, jelas dan tepat ....
      Kunjungi juga website saya di : https://bagussmj.mahasiswa.atmaluhur.ac.id/
      dan website kampus saya di : http://www.atmaluhur.ac.id/

      BalasHapus
    Lebih baru Lebih lama