Wednesday, May 10, 2017

Pengertian Sessions Dalam PHP

pengertian-session-php
Dalam PHP cara alternatif untuk membuat data dapat di akses di berbagai halaman di seluruh website adalah menggunakan Session.

Dalam PHP Session membuat file dalam temporary direktori di server, dimana variable dan value dari session di simpan. Data ini akan selalu tersedia di seluruh halaman di sebuah website apabila user berkunjung ke website tersebut.

Lokasi file sementara dapat di setting di dalam file php.ini yang disebut session.save_path. Sebelum mengunakan variable session pastikan anda telah mengatur session.save_path di php.ini

Baca Juga: Tutorial Lengkap PHP Indonesia

Berikut ciri-ciri apabila session sudah di start/setup:
  • PHP pertama kali membuat identifier unik untuk sesi tertentu yang merupakan random string dari 32 bilangan heksadesimal seperti 3c7foj34c3jj973hjkop2fc937e3443
  • Cookie yang disebut PHPSESSID secara otomatis dikirim ke komputer pengguna untuk menyimpan string identifikasi session yang unik.
  • Sebuah file dibuat secara otomatis pada server dalam direktori sementara yang ditunjuk dan diberi nama pengenal unik yang diawali oleh sess_ yaitu sess_3c7foj34c3jj973hjkop2fc937e3443.
Session berakhir saat user clear data browser atau server session menghentikan session dalam jangka waktu tertentu, biasanya durasi nya 30 menit.

Starting Session PHP


Session PHP dapat dimulai dengan call fungsi session_start(). Fungsi ini pertama-tama memeriksa apakah sesi sudah dimulai dan jika tidak ada yang dimulai, maka itu akan dimulai. Dianjurkan untuk call fungsi session_start() di awal halaman.

Variable Session disimpan didalam array asosiatif yang disebut  $ _SESSION []. Variabel ini dapat diakses selama session berlangsung.

Manfaatkan fungsi isset () untuk memeriksa apakah variabel session sudah diterapkan atau tidak.

Letakkan kode ini di file test.php dan load file berkali-kali untuk melihat hasilnya -

<?php
   session_start();
   
   if( isset( $_SESSION['counter'] ) ) {
      $_SESSION['counter'] += 1;
   }else {
      $_SESSION['counter'] = 1;
   }
 
   $msg = "You have visited this page ".  $_SESSION['counter'];
   $msg .= "in this session.";
?>

<html>
   
   <head>
      <title>Setting up a PHP session</title>
   </head>
   
   <body>
      <?php  echo ( $msg ); ?>
   </body>
   
</html>
Resultnya adalah:
You have visited this page 1in this session.


Destroying Session PHP 


Session PHP dapat dihancurkan/dihilangkan memakai fungsi session_destroy(). Fungsi ini tidak memerlukan argumen dan satu panggilan pun bisa menghancurkan semua variabel session. Jika Anda ingin menghancurkan satu variabel session maka Anda dapat menggunakan fungsi unset () untuk mengawali variabel session.

Berikut adalah contoh untuk unset satu variabel:

<?php
   unset($_SESSION['counter']);
?>
Berikut adalah untuk menghancurkan semua variabel session:

<?php
   session_destroy();
?>


Cara Set Auto Session PHP


Anda tidak perlu memanggil fungsi start_session () untuk memulai sesi saat pengguna mengunjungi situs Anda. Anda bisa set melalui session.auto_start variable di file php.ini

Berikut contoh penerapa Set auto Session:

<?php
   session_start();
   
   if (isset($_SESSION['counter'])) {
      $_SESSION['counter'] = 1;
   }else {
      $_SESSION['counter']++;
   }
   
   $msg = "You have visited this page ".  $_SESSION['counter'];
   $msg .= "in this session.";
   
   echo ( $msg );
?>

<p>
   To continue  click following link <br />
   
   <a  href = "nextpage.php?<?php echo htmlspecialchars(SID); ?>">
</p>
Resultya adalah:
You have visited this page 1in this session.
To continue click following link 
htmlspecialchars () dapat digunakan saat mencetak SID untuk mencegah serangan terkait XSS.

Sumber: TutorialPoints.com


EmoticonEmoticon