apa yang kita gunakan untuk mengisi ljk

Indonesian (Bahasa Indonesia) translation by
Hisman Saputra
(you can also view the original English article)

Penanganan session yaitu konsep terdepan dalam PHP yang memungkinkan embaran pengguna dapat dipertahankan di semua halaman dari website atau permohonan. Di artikel ini, Sira akan mempelajari dasar-sumber akar berpangkal penangan session di PHP.

Kita akan menginjak dengan penjelasan mengenai bagaimana session bekerja dan hubungannya dengan cookies.  Lalu kita akan melihat beberapa rajangan kode yang mendemonstrasikan bagaimana bekerja dengan session. Anda akan mempelajari bagaimana takhlik dan menghapus session, serta bagaimana menidakkan fleksibel session.

Apa itu Session di PHP?

Session yakni mekanisme untuk mempertahankan informasi di semua halaman web yang farik bakal mengidentifikasi pengguna saat mereka menyisir situs atau aplikasi. Apakah Dia menyoal-soal mengapa session dibutuhkan untuk sebuah website? Kerjakan mengawasi kenapa session dibutuhkan, kita harus kembali ke birit dan melihat bagaimana protokol HTTP dirancang untuk bekerja.

Protokol HTTP yakni protokol yang tidak memiliki state, artinya enggak mana tahu server boleh mengingat pengguna tertentu di antara bilang request. Contohnya, ketika Anda mengakses sebuah halaman web, server tetapi bertanggung jawab buat menyediakan konten dari jerambah di-request tersebut. Jadi ketika Anda mengakses pekarangan lain berpangkal website nan sebanding, server web menginterpretasi setiap dan semua request secara terpisah, seolah-olah mereka tidak berhubungan satu sama lain. Tak ada kemungkinan bagi server untuk bisa memaklumi setiap request berasal berpangkal pengguna yang sebanding.

Diagram berikut secara singkat melukiskan protokol HTTP.

The HTTP Protocol and a Stateless Request
The HTTP Protocol and a Stateless Request
The HTTP Protocol and a Stateless Request

Di kamil ini, seandainya Sira kepingin menampilkan khas informasi akan halnya pengguna, Anda harus mengotentikasi pengguna di setiap request. Bayangkan jika Beliau harus mengetik username dan password Anda di setiap halaman yang menampilkan siaran profil Anda!

Session memungkinkan Anda bikin berbagi informasi ke semua halaman nan berbeda internal suatu situs alias permohonan—sehingga bisa membantu menjaga state. Ini memungkinkan server mengetahui bahwa semua request semenjak terbit pengguna yang sama, sehingga situs dapat mencadangkan publikasi spesifik dari pengguna serta preferensi.

Silsilah Login dengan Session dan Cookies

Marilah kita lihat alur login yang umum untuk sebuah website agar dapat mengerti segala nan terjadi di balik cucur.

  1. Pengguna membuka pelataran login terbit sebuah website.
  2. Setelah memasukkan form login, peladen di sebelah bukan mengotentikasi request dengan memvalidasi kredensial nan dimasukkan.
  3. Jika kredensial yang dimasukkan oleh konsumen jujur, server membuat sebuah session baru. Peladen menghasilkan nomor random yang unik, yang bernama session id. Dia pun menciptakan file baru di server yang digunakan buat menyimpan informasi spesifik berbunga session.
  4. Selanjutnya, session id diberikan kembali ke pengguna, beserta resource nan di-request. Di balik layar, session id ini dikirim intern bagan cookie
    PHPSESSID
    di header response.
  5. Ketika browser mengakuri response dari server, dia menemukan cookiePHPSESSID header. Jika cookie diizinkan oleh browser, maka dia akan menyimpan cookiePHPSESSID tersebut, yang menggudangkan session id yang diberikan makanya server.
  6. Lakukan request selanjutnya, cookie
    PHPSESSID
    dikirim juga ke server. Ketika server menemukan cookie
    PHPSESSID, dia akan mencoba menginisialisasi session dengan session id tersebut. Hal tersebut dilakukan dengan memuat file session nan dibuat momen inisialisasi session. Lalu, dia akan menginisialisasi laur array super-global
    $_SESSION
    dengan data nan disimpan dalam file session.

Dengan cara ini, data pengguna dapat dipertahankan untuk semua request nan berlainan, dan pemakai boleh tegar login sepanjang session.

Tabulasi berikut menggambarkan bagaimana protokol HTTP bekerja dengan session.

The HTTP Protocol and a Request With Sessions
The HTTP Protocol and a Request With Sessions
The HTTP Protocol and a Request With Sessions

Sekarang Beliau mutakadim melihat pengantar singkat tentang bagaimana session berkarya, kita akan membuat bilang contoh praktikal yang mempertunjukkan bagaimana mewujudkan dan memanipulasi variabel session.

Bagaimana Memulai Session

Di bagian ini, kita akan membincangkan bagaimana memulai session di PHP.

Kapanpun Beliau mau berurusan dengan luwes session, Anda teradat memastikan session sudah dimulai. Ada beberapa mandu Anda dapat memulai session di PHP.

Menunggangi Fungsi
session_start

Ini ialah metode yang akan gelojoh Anda temui, dimana session dimulai dengan khasiat
session_start.

1
                  <?php
                
2
                  // tiba a session
                  
                
3
                  session_start
                  ();
                
4

5
                  // manipulate session variables
                  
                
6
                  ?>
                

Keadaan yang penting adalah fungsisession_start
harus dipanggil di awal script, sebelum output apapun dikirim ke browser. Seandainya tidak Beliau akan merodong error nan populerHeaders are already sent.

Memulai Session Secara Faali

Sekiranya ada kebutuhan kerjakan memperalat session di seluruh permintaan Anda, Anda dapat memintal bakal memulai session secara otomatis tanpa menggunakan fungsi
session_start.

Ada sebuah konfigurasi di file
php.ini
nan dapat membuat Anda memulai session secara otomatis untuk semua request—session.auto_start. Secara default, itu diatur
0, dan Anda dapat mengaturnya menjadi
1
untuk mengaktifkan fungsi startup otomatis.

Di sisi lain, jika Engkau lain memiliki akses ke file
php.ini, dan Anda menggunakan server web Apache, Dia pula dapat mengatur variabel ini di file.htaccess.

1
                  php_value
                  session
                  .
                  auto_start
                  1
                

Jika Anda menambahkan derek di atas ke file.htaccess, maka itu akan memulai session secara otomatis di aplikasi PHP Dia.

Bagaimana Mendapatkan Session Id

Seperti mana yang kita periksa sebelumnya, peladen takhlik nomor eksklusif lakukan setiap session baru. Takdirnya Anda ingin mendapatkan session id, Ia dapat memperalat fungsisession_id, seperti nan tertumbuk pandangan di irisan kode berikut.

1
                  <?php
                
2
                  session_start
                  ();
                
3
                  echo
                  session_id
                  ();
                
4
                  ?>
                

Itu akan memberikan session id saat ini. Artisession_id
ini menggandeng karena kamu sekali lagi dapat mengakui satu argumen—sebuah session id. Jika Anda cak hendak mengganti session id nan dihasilkan maka dari itu sistem dengan kepunyaan Anda koteng, Anda dapat memberikannya ke argumen purwa dari fungsisession_id.

1
                  <?php
                
2
                  session_id
                  (
                  YOUR_SESSION_ID
                  );
                
3
                  session_start
                  ();
                
4
                  ?>
                

Perlu diperhatikan bahwa kurniasession_id
harus ditaruh sebelum
session_start
dipanggil ketika Anda ingin memulai session dengan sebuah kustom session id.

Bagaimana Membentuk Variabel Session

Di bagian ini, kita akan mengeksplorasi tentang bagaimana menginisialisasi fleksibel session di PHP.

Begitu juga yang kita bahas sebelumnya, ketika session dimulai, array super-global
$_SESSION
diinisialisasi dengan maklumat yang sesuai. Secara default, kamu diinisialisasi dengan array zero, dan Anda boleh menyimpan informasi tambahan dengan memperalat key-value pair.

Yuk kita lihat contoh kode berikut yang mencontohkan bagaimana menginisialisasi variabel session.

1
                  <?php
                
2
                  // tiba a session
                  
                
3
                  session_start
                  ();
                
4

5
                  // initialize session variables
                  
                
6
                  $_SESSION
                  [
                  'logged_in_user_id'
                  ]
                  =
                  '1'
                  ;
                
7
                  $_SESSION
                  [
                  'logged_in_user_name'
                  ]
                  =
                  'Tutsplus'
                  ;
                
8

9
                  // access session variables
                  
                
10
                  echo
                  $_SESSION
                  [
                  'logged_in_user_id'
                  ];
                
11
                  echo
                  $_SESSION
                  [
                  'logged_in_user_name'
                  ];
                
12
                  ?>
                

Seperti nan boleh Ia lihat, kita memulai session di bagian awal script dengan menggunakan fungsi
session_start. Sehabis itu, kita menginisialisasi dua variabel session. Terakhir, kita mengakses laur tersebut dengan menggunakan
$_SESSION
super-universal.

Saat Ia menggudangkan data di session dengan memperalat
$_SESSION
super-mondial, itu nantinya akan disimpan di file session yang sesuai di server yang telah dibuat momen session dimulai. Dengan ini, data session akan dibagikan ke semua request.

Seperti yang mutakadim kita selidik, mualamat session dibagikan ke semua request, sehingga plastis session nan diinisialisasi di satu halaman dapat diakses berpunca halaman yang lainnya lagi, sampai session-nya kadaluwarsa. Secara publik, session kadaluwarsa momen browser ditutup.

Bagaimana Memodifikasi dan Menghapus Fleksibel Session

Sira dapat memodifikasi atau menghapus plastis session yang telah dibuat sebelumnya di aplikasi dengan cara yang sama seperti variabel PHP biasa.

Mari kita lihat bagaimana memodifikasi variabel session.

1
                  <?php
                
2
                  session_start
                  ();
                
3

4
                  if
                  (
                  !
                  isset
                  (
                  $_SESSION
                  [
                  'count'
                  ]))
                
5
                  {
                
6
                  $_SESSION
                  [
                  'count'
                  ]
                  =
                  1
                  ;
                
7
                  }
                
8
                  else
                
9
                  {
                
10
                  ++
                  $_SESSION
                  [
                  'count'
                  ];
                
11
                  }
                
12

13
                  echo
                  $_SESSION
                  [
                  'count'
                  ];
                
14
                  ?>
                

Pada kode di atas, kita menginterogasi jika variabel
$_SESSION[‘count’]
sudah diatur sebelumnya. Jikalau belum diatur, kita akan mengaturnya menjadi
1, sebaliknya kita akan menambahkanya dengan
1. Jadi, jika Anda me-refresh pelataran ini bilang kali, Ia akan mengintai bahwa counter ditambahkan dengan suatu setiap detik!

Di samping itu, jika Anda kepingin menghapus laur session, Engkau dapat memperalat fungsi
unset, seperti nan terlihat di potongan kode berikut.

1
                  <?php
                
2
                  // mulai a session
                  
                
3
                  session_start
                  ();
                
4

5
                  // initialize a session variable
                  
                
6
                  $_SESSION
                  [
                  'logged_in_user_id'
                  ]
                  =
                  '1'
                  ;
                
7

8
                  // unset a session variable
                  
                
9
                  unset
                  (
                  $_SESSION
                  [
                  'logged_in_user_id'
                  ]);
                
10
                  ?>
                

Demikian, Anda tidak bisa lagi mengakses variabel$_SESSION[‘logged_in_user_id’]
karena sira sudah dihapus dengan fungsi
unset. Kaprikornus itulah caranya untuk mengatur informasi session.

Bagaimana Menghapus Session

Di bagian ini, kita akan meluluk bagaimana Ia boleh menghapus session. Di bagian sebelumnya, kita menggunjingkan kepentingan
unset, nan digunakan jika Anda ingin menyetip spesifik lentur session. Di samping itu, jika Anda ingin menghapus semua data yang berhubungan dengan session serta merta, Anda bisa menunggangi artisession_destroy.

Mari kita coba untuk memaklumi bagaimana itu bekerja dengan menggunakan contoh berikut.

1
                  <?php
                
2
                  // start a session
                  
                
3
                  session_start
                  ();
                
4

5
                  // assume that we’ve initialized a couple of session variables in the other script already
                  
                
6

7
                  // destroy everything in this session
                  
                
8
                  session_destroy
                  ();
                
9
                  ?>
                

Fungsisession_destroy
menghapus semua yang disimpan di session detik ini. Sehingga, kita akan meluluk variabel
$_SESSION
kosong di request selanjutnya karena data session yang disimpan di disk sudah dihapus oleh fungsisession_destroy.

Secara umum, Anda akan menggunakan fungsi session_destroy saat pengguna logout.

Kesimpulan

Di kata sandang ini, kita mengeksplorasi bawah-dasar berpokok penanganan session di PHP. Ini merupakan konsep utama yang memungkinkan Ia untuk dapat mempertahankan informasi di seluruh jerambah web.

Di setengah fragmen pertama artikel, kita menggunjingkan konsep dasar dari session, dan kemudian kita membuat beberapa contoh PHP bagi mempertunjukkan bagaimana Anda dapat takhlik dan menghapus session serta memanipulasi variabel session.

Source: https://code.tutsplus.com/id/tutorials/how-to-use-sessions-and-session-variables-in-php–cms-31839