Kegunaan dan Cara Menggunakan $_SESSION[] PHP

By , February 17, 2015,

Kegunaan dan Cara Menggunakan $_SESSION[] PHP. Pada kesempatan kali ini Saya akan membagikan tentang tutorial penggunaan session di php. Session adalah salah satu bagian dari cookies. Untuk penggunaanya banyak sekali. Tergantung keperluan Anda untuk menggunakan session ini. Pada tutorial kali ini Saya akan menggunakan session untuk login.

Kegunaan session adalah untuk melakukan aktivitas yang berhubungan dengan interaksi user pada sebuah web server php. Untuk kali ini saya akan jelaskan penggunaan session untuk login dan logout. Penjelasanya yang perlu diketahui adalah penggunaan $_session[] harus di daftarkan terlebih dahulu. Tanpa session didaftarkan, maka variabel session tidak dapat digunakan alias kosong.

Bagian-bagian dari $_SESSION[]

Berikut ini bagian session yang perlu Anda ketahui penggunaannya.

1. Session_start();

Kegunaan dari fungsi session_start(); adalah untuk memulai eksekusi session pada server dan kemudian menyimpannya pada browser. Dengan intruksi ini menunjukkan pada saat session di mulai, semua session akan diaftarkan selanjutnya akan disimpan. Penyimpanan ini terjadi sampai jangka waktu tertentu. Dan untuk membaut session berdasarkan waktu bisa Anda setting sendiri. Mudah-mudahan nanti saya buat tutorialnya dengan batas waktu session. Selain dengan batas waktu, session bisa hilang jika cookies browser Anda hilangkan. Dengan dihilangkan, maka secara otomatis session juga hilang dari browser Anda.

2. Session_register(“”);

Selanjutnya jika session sudah dimulai dengan perintah no 1, maka langkah selanjutnya adalah mendaftarkan session pada tahap berikutnya. Pada fungsi tersebut terdapat dua tanda petik, diantara tanda petik tersebut berisi nama session yang Anda daftarkan. Berikut contoh session yang saya buat pada koding loginsistem informasi iklan:

session_register("username");

Saya mendaftarkan username pada browser untuk saya gunakan menampilkan menu.

3. $_SESSION[username]

Jika pada no adalah mendaftarkan sebuah session. Berbeda dengan yang ketiga ini. Varibel ini adalah sebuah inisialisasi dari session.

4. Session_destroy();

Pada bagian ini menjelesakan bahwa semua session yang telah di buat dan di inisialisasi akan di destroy atau di hancurkan. Nah pada tahanpan inilah yang sering digunakan untuk script logout pada web atau aplikasi berbasis web lainya.

Kegunaan dan Cara Menggunakan $_SESSION[] PHP

Oke sebelumnya tadi kita sudah menjelaskan beberapa kegunaan dan bagian-bagian dari session. Kali ini cara membuat dan menggunakan $_session. Untuk studi kasus ini, Seperti yang sudah saya jelaskan tadi yaitu login.

Pertama buatlah file dengan nama session.php kemudian tempatkan pada server Anda, sesuaikan dengan server Anda, bisa xamp, wamp atau sejenisnya. Dan file yang kedua yaitu ceksession.php.

Berikut script contoh penggunaan session:

1. session.php


<?php
session_start();
if (empty($_SESSION[username]) AND empty($_SESSION[password])){
 echo 'INI HALAMAN DEPAN, ANDA BELUM <a href="?modul=login">Login</a>';
}else{
 echo 'ANDA SUDAH LOGIN DENGAN username: <b>'.$_SESSION[username].'</b> password: <b>'.$_SESSION[password].'</b> <a href="?modul=logout">Logout</a>';
}

switch ($_GET['modul']){
 case "login":
 echo '
 <form name="login" action="ceksession.php" method="POST">
 Username :
 <input type="text" name="username">
 Password :
 <input type="text" name="password" >
 <button type="submit">Login</button>
 </form>';
 break;

 case 'logout':
 session_destroy();
 echo "<center>Anda telah sukses keluar sistem </center>";
 echo "<meta http-equiv='refresh' content='1;url=/session.php'>";
 break;

 default:
 //echo 'HALAMAN DEPAN <a href="?modul=login">Login</a>';
 break;
}

?>

Script php diatas adalah halaman awal dengan menampilkan default jika belum login. JIka di cek session belum login ada perintah untuk login. Dan jika sudah login akan berubah menampilkan username dan password pada session yang dipakai untuk loin sebelumnya dan perintah logout.

2. ceksession.php


<?php
 session_start();
 session_register("username");
 session_register("password");

 $_SESSION[username] = $_POST[username];
 $_SESSION[password] = $_POST[password];
 header('location: /session.php');
?>

Diatas merupakan script untuk menangkap username dan password yang diinput dari form dan dijadikan menjadi session.

Berikut hasil dari script Menggunakan $_SESSION[] PHP

1. Tampilan sebelum login dengan session

Kegunaan dan Cara Menggunakan $_SESSION[] PHP

Tampilan sebelum login

Kegunaan dan Cara Menggunakan $_SESSION[] PHP

Login session

2. Tampilan sesudah login session

Kegunaan dan Cara Menggunakan $_SESSION[] PHP

Setelah login menggunakan session

Demikian tutorial membuat session di php. Semoga bermanfaat dan dapat membantu Anda.

Postingan berikutnya

  1. penggunaan session php
  2. penggunaan session pada php
  3. fungsi session
  4. cara membuat session di php
  5. cara membuat login dengan php menggunakan session
  6. membuat session php
  7. cara membuat session
  8. cara menggunakan session php
  9. cara menggunakan session
  10. penggunaan session di php
  11. session pada php
  12. penggunaan session
  13. membuat session di php
  14. fungsi $_session
  15. Cara membuat session php
Category: PHP

45 thoughts on “Kegunaan dan Cara Menggunakan $_SESSION[] PHP

  1. tri sugihartono

    mas, session bisa gak di pake untuk mengisi form id user untuk di masukkan ke database beserta data yang bersangkutan dengan user

    Reply
    1. admin Post author

      Bisa mas, yang penting jangan lupa, data-data yang bersangkutan dengan user harus di daftarkan juga agar bisa di baca dan di masukkan kedalam database. Tekniknya jika formnya tidak mau di cunculkan gunakan saja input yang tipenya hidden. Misalnya gini

      <input type=hidden name=umur>
      Reply
  2. Azwar Rangkuti

    mas, mau nanya, jika sebuah website membuat waktu login, misal tuk daerah aceh loginnya hari rabu. nah apakah ada cara agar saya bisa login di website itu pada hari selain hari rabu. di bantu ya mas??

    Reply
    1. admin Post author

      @azwar : Bisa saja mas, bisa di rubah dengan cara merubah waktu, merubah ip address, atau juga memakai web proxy.

      Reply
  3. baher

    mas, apa session bisa diterapkan pada postingan blog?
    kalau bisa gimana caranya?

    Reply
    1. admin Post author

      Bisa saja mas, jika postingan yang di maksud menggunakan server sendiri. Kalau untuk blogspot blm pernah di coba

      Reply
  4. Anggi Ferdiyani

    Mas mau tanya kalo misalnya sessionnya bersasarkan status pilihan a atau b dari database itu gimana ya? Awalnya login hanya berdasarkan username dan password namun perlu dicek berdasarkan status juga karena berpengaruh dengan halaman yang bisa dibuka oleh status a dan tidak bisa dibuka oleh status b. Terimakasih

    Reply
    1. admin Post author

      Terimakasih, pertanyaan yang bagus mbak Anggi.

      Caranya mudah saja mbak:
      1. Pertama ketika username dan password di input, pda prosesnya sekali baca saja status yang ada berdasarkan usernamenya.
      2. Langkah berikutnya dari pembacaan status tersebut kemudin baca kembali dan daftarkan menjadi session.
      3. Ketika session sudah terdaftar, selanjutnya proses lain bisa dilakukan dengan sessin tersebut, misalnya memunculkan menu berdasarkan status dan yang lainya.

      Reply
  5. Via

    Mas mau tanya, bagaimana cara melakukan pengecekan pada sebuah web tentang berapa kali web terbeut diakses? Lalu jumlah tersebut ditampilkan. Bagaimana membuat programnya dengan menggunakan session dan cookies?

    Reply
    1. admin Post author

      Untuk mengetahui beberapa kali web di akses, biasanya menggunakan deteksi ip address dari pengunjung atau visitor web tersebut. Dan jumlah kunjungan tersebut di simpan kedalam database dengan metode update, jadi jika ada pengujung baru dengan ip address berbeda maka data kunjungan tersebut bertambah atau update. Untuk session dan kookie yang di gunakan yaitu dapat berupa mendaftarkan ip address visitor kedalam session. Insyallah di postingan berikutnya akan di share tutorialnya.

      Reply
  6. Pusti

    Gan! saya mau bertanya, kalo membedakan menu bar antara admin dan user gimana ya? Saya menggunakan

    function getMenu() {
    include(“menu.php”);
    }

    Mohon pencerahannya!
    Terima Kasih…

    Reply
    1. admin Post author

      @pusti Kalau untuk membedakan menu, biasanya saya menggunakan session mbak. Jadi jika user ada dua misalkan admin dan user maka di set saja sessionnya ketika login.
      Berdasarkan fungsi yang mbak contohkan tersebut maka bisa di buat begini:

      function getMenu(){
      if($_session['level'] == ‘admin’){
      // menu untuk admin
      getMenuadmin();
      }elseif($_session['level'] == ‘user’){
      // menu untuk user
      getMenuuser();
      }

      oke begitu semoga bermanfaat.
      }

      Reply
  7. Aditya

    mas, di misalkan saya punya 2 sistem yang berbeda foldernya pun juga berbeda, nah ketika saya login maupun logout di salah satu sistem, sistem yg 1nya lagi pun ikut login maupun logout, mohon pencerahannya

    Reply
    1. admin Post author

      Bisa mas. Tinggal di sesuaikan saja. session login pada kedua aplikasi tersebut, Dengan demikian. Jika user logout maka user akan keluar dari aplikasi tersebut. Karena session yang di daftarkan pada browser sama.

      Reply
  8. adinda intan

    kak tak coba copy yang script session tapi ada yang eror gimana ya?

    Reply
  9. natasha

    kalau username tukar ke id tapi nnti sesudah login session keluar untuk nama gmna script nya ?

    Reply
    1. admin Post author

      Terimakasih sudah bertanya mbak natasha

      Untuk form login misalnya menggunakan:

      - id
      - password

      Untuk database yang digunakan misalnya “pengguna”, pada tabel pengguna tersebut terdapat beberapa field misalnya
      - id
      - password
      - nama_pengguna
      - level

      Untuk alur proses programnya user menginput akun login menggunakan id dan sername, kemudian id dan username tersebut di cek di dalam database apakah atau tidak. jika ada maka akan di tampilkan. Berdasarkan pertanya bagaimana jika login menggunakan id dan menampilkan nama atau data lain yang terkain dengan pengguna dapat menggunakan session seperti tutorial diatas contoh scriptnya berikut ini:

      ketika awal login user jika berhasil akan di simpan dengan cara

      $_SESSION[id] = $iduser;
      kemudian ketika sudah di arahkan ke halaman setelah login, silahkan saja di query atau di panggil database sesuai dengan $_session yang tersimpan tersebut, script phpnya:

       
      
      $query = $con->("SELECT * FROM pengguna WHERE id='$_SESSION[id]'");
      $row = $query->fetch_assoc();
      
      echo $row[nama_pengguna]; // dan lain lain
      
      

      Nah seperti itu logikannya mbak.

      Reply
  10. mumunis

    mas kok $_SESSION['level'] saya aman saja ketika sy menggunakan xampp versi lama, namun ketika saya menggunakan xampp terbaru malah bermasalah. kenapa ya mas??

    Reply
    1. admin Post author

      mas @mumunis ia mas, soalnya xampp versi baru sudah menggunakan php versi tinggi biasanya versi 5.+ atau bahkan versi 7. Kaitannya dengan xampp lama, yaitu beberapa fungsi php yang ada di xampp lama ada beberapa yang tidak berfungsi lagi di php versi baru.

      Reply
  11. sandria

    saya ingin bertanya mengenai session ini..
    jika membuat login dengan misalnya:
    username : saya masukan sandria
    password : saya masukan bisa

    jika yang diinput sesuai di atas akan berhasil dan jika tidak maka akan gagal.
    itu gmna ya..

    tolong jwabnya,,
    terima kasih..

    Reply
    1. admin Post author

      Untuk konsep seperti itu, dapat menggunakan akun yang terdaftar pada sebuah database. Dengan catatan jika akun sesuai dengan yang terdaftar maka akan dapat login.

      Dapat di logika kan seperti ini:
      if(sukses){
      login sukses
      }else{
      login gagal
      }

      Reply
  12. jamal eko

    mas kalo session digunakan untuk update tabel berdasarkan user yg login.. setelah user mengklik isi tabel berdasarkan id maka tombol menjadi disable (karna untuk voting satu data satu orang).. apa cocok pake session?

    Reply
    1. admin Post author

      mas,, @jama eko

      Bisa mas, session di gunakan pada saat awal user login, kemudian berdasarkan id dari user tersebut ketika user mengklik tombol yang ada pada tabel buat sebuah proses update pada salah satu field tabel. Misalkan saja field tabel dengan nama “status_vote” nah pada field tersebut isianya antara “1″ dan “0″ untuk “1″ jika sudah di klik dan untuk “0″ jika belum di klik.

      Nah ketika user mengklik vote maka buat sebuah proses update pada field tersebut. Dengan demikian jika “status_vote” sudah terupdate, maka user ketika login berikutnya sudah terdeteksi kalau sudah melakukan voting.

      Jika diasumsikan pada sebuah tombol misalnya..:

      $query = disini letak query memanggil status vote;
      $r = $con->query($query);
      if($r->status_vote == 1){
      echo '<a href="">Tombol</a>';
      }else{
      echo '<a href="link yang aktif">Tombol</a>';
      }
      

      Nah kurang lebih logikanya seperti ini mas, namun untuk implementasinya targantung script yang mas kembangkan sendiri. Terimakasih

      Reply
  13. Dimas Wirdyanth

    maz mao nanya dong session ini bisa di gunakan buat cek tanggal waktu tempat si pemakai gak dan bisa di rinciin gak misal nyan gini saya mau lihat si A login dimana misal si A login di PC kantor 1 lalu ip tanggal login akhir login tempat nya dimana gt mas kalo di bilang sama kaya sistem tracker cuma mau jadi histori aja gt bisa gak mas

    Reply
    1. admin Post author

      Kalau untuk di jadikan sebagai “log” bisa mas, Untuk yang di catat bisa berupa ip address, waktu, jenis browser, perangkat login, namun untuk lokasi, ada script tambahannya mas.

      Reply
  14. Dimas Wirdyanth

    oh iya maz kalo bisa saya boleh minta kontak nya gak jadi bisa langsung tanya sama maz klo kalo saya butuh bantuan gitu

    Reply
  15. nuzi

    mas mau tanya coding insert to tabel cms. valuesnya saya menggunakan s_sessioon [level] tapi ga bisa mas. bs mnta tlg di betulkan codingnya.

    Reply
    1. admin Post author

      Utuntuk session baiknya di letkkan dalam variabel saja mas

      jadi begini misalnya

      $level = $_SESSION[level]

      inert into user (level) value (‘$level’)

      Reply
  16. nuzi

    $a=mysql_query “insert into tbl cms (id, user)values($id,’,_session[level]);

    Reply
  17. nuzi

    ini coding ttg tabel cms bang. seperti manggil.level user gan di dalam coding insert . itu gi mana ya gan codingnya ?

    Reply
  18. Lagi Pusing

    Halo gan, saya mau tanya, misal saya punya 1 folder utama (halaman index tampilan utama) dan 3 folder lainnya (admin, guru, siswa) untuk file admin saya tempatkan di folder admin, dst. Di folder utama (tampilan index) saya sisipkan halaman login admin, guru dan siswa. Ketika login dengan admin maka akan langsung ke folder admin begitu seterusnya. Tapi masalahnya, ketika saya sedang login sebagai admin, guru atau siswa folder utama masih bisa di buka.

    folder_utama/admin
    folder_utama/guru
    folder_utama/siswa

    Pertanyaannya, gmana gan cara buatnya ketika login sebagai admin lalu ketika folder utama di buka akan langsung di redirect ke folder admin, karena saya sedang login sebagai admin dan belum logout.

    Tolong bantuannya…!!!

    Ini email saya: abdulkholik.email@gmail.com

    Reply
    1. admin Post author

      Untuk Session yang digunakan dapat kita gunakan misalkan level yang ada pada tabel database mas, misal admin level nya 1, guru level nya 2, dan siswa level 3. Kemudian dari session tersebut kira arahkan dengan switch atau juga if bisalkan begini:

      switch($_SESSION[level]){
       case '1':
        include 'folder_utama/admin';
       break;
       case '2':
        include 'folder_utama/guru';
      break;
      case '3':
        include 'folder_utama/siswa';
      break;
      }
      

      di atas contoh analogi pengarahan dengan fungsi switch php mas.

      Untuk php dapat menggunakan contoh seperti ini:

      if($_SESSION[level] == 1){
       include 'folder_utama/admin';
      }elseif$_SESSION[level] == 2){
        include 'folder_utama/guru';
      }elseif($_SESSION[level] == 3){
        include 'folder_utama/siswa';
      }
      

      untuk include yang digunakan sesuaikan dengan file yang akan dia rahkan.

      Reply
  19. Dendik

    Mas mau tanya , saya mau buat voting online, nah aturanya satu user satu pemilih menggunakan nim, bagaimana dlm penerapn di php?

    Reply
    1. admin Post author

      mas @dendik:

      Untuk pembuatan voting menggunakan nim sebagai acuan, dapat kita gambarkan dengan contoh 2 tabel dalam databse, misalnya

      1. tabel masahasiswa
      Pada tabel ini kita contohkan saja field yang ada yaitu (nama,nim)
      2. tabel voting
      Pada tabel voting kita buat contoh field misalnya (idVoting,nim,vote)

      Nah berdasarkan dengan kedua tabel diatas kita logika kan jika user dalam kasus tersebut adalah mahasiswa telah melakukan voting, maka data nim tercatat pada tabel voting, dengan demikian mahasiswa tersebut tidak dapat melakukan voting untuk data yang sama kedua kali.

      Caranya dengan php yaitu,

      1. Pertama baca tabel voting apakah mahasiswa telah melakukan vote
      2. jika belum maka input data vote mahasiswa tersebut
      3. Jia mahasiswa telah vote, maka berikan informasi atau pesan bahwa mahasiswa tersebut telah melakukan vote

      Secara logika dan prosedur dalam pembuatan programnya seperti itu mas.

      Reply
      1. Dendik

        ohh iyaa mas makasih mas tentang analoginya..
        dan saya mau tanya lagi, kalau misal sibuat kondisi?

        contoh scriptnya gmna mas sederhananya?
        menggunakan if saja atau perlu session mas ?

        Reply
  20. ferdi

    Gan, tau penggunaan session dlm aplikasi oscommerce gak. Lg mentok ni d bagian menu session

    Reply
  21. lukman

    mas mau minta tolong jelasin script di bawah boleh mas, scriptnya yang berawal dari login pertama login toko dan kedua login user, supaya jadi login sekali saja yaitu login user/toko saja. terimakasih
    session_start();
    if(!isset($_SESSION['kd_toko'])&&!isset($_SESSION['status_toko'])){
    header(‘location:akses/login_toko.php’);}
    else if(!isset($_SESSION['id_user'])&&!isset($_SESSION['status_user'])){
    header(‘location:akses/login_user.php’);}
    else{
    $status_toko=$_SESSION['status_toko'];
    $status_user=$_SESSION['status_user'];}

    Reply
    1. admin Post author

      @lukman, untuk user dan toko apakah berelasi mas di databasenya ?, kalau berelasi kita buat satu skrip kemudian kita akses kedua tabelnya melalui relasi tersebut.

      Reply
  22. teguh

    mas saya punya fitu komentar , tapi masalahnya di hapus komentar , komentar nya bisa di hapus siapa saja yang telah login , saya mau hapus komentar nya berdasarka session aktif , yang kaya di fb.

    Del

    ini experimenya , tapi jadi ga tampil semua nya, btw ini halaman panggilan dari index.
    dan indexnya juga sudah ada session start nya.

    mohon pencerahan suhu mahasiswa tingkat akhir suhu ,
    /// komen ini kalo di balas masuk email ga mas ?
    kalo engga
    disini aja mas coolyaw@gmail.com

    Reply
    1. admin Post author

      terimakasih mas @teguh: Kalau berdasarkan session.. bisa saja kita gunakan level untuk jenis login. nah dengan level tersebut bisa kita kasih logika delete komentar yang di maksud, atau jika tidak menggunakan level user, alternatif lain, menggunakan username yang kita simpan di session itu sendiri.

      Peraturannya setiap username user, tidak boleh sama antara yang satu dengan yang lainnya. Dengan demikian komentar yang dilakukan bisa di hapus hanya oleh si pembuat komentar itu sendiri.

      Reply
  23. Yudi

    Maaf min mau nanya
    Gmna cranya apabila kita login lalu masuk halaman utama lalu kita klik back halaman ketika klik next halaman lagi langsung ke halamqn utama tidak minta login lagi. Nah gmna caranya ketika kita back halaman setelah login lalu mau masuk hlaman utama harus login lagi jdi tidal bsa next hlaman

    Reply
    1. admin Post author

      @yudi, untuk alur seperti itu kita menggunakan session seperti contoh diatas mas, jadi session yang digunakan untuk login, dengan catatan sama dengan data yang tersimpan di database, akan di simpan di browser cliend sebelum dia logout. nah agar login tersebut tetap berada pada halaman utama, maka kita berikan redirect di halaman sebelunya jika sudah login dengan data session yang sudah tersimpan tersebut. Dengan demikian, user tidak di minta untuk di login lagi, jika halaman di klik back. Terimakasih

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *