Apa fungsi php session_start () dan session_destroy ()?

Dalam tutorial ini Anda akan belajar cara menyimpan data tertentu di server secara sementara menggunakan sesi PHP

Apa itu Sesi

Meskipun Anda dapat menyimpan data menggunakan cookie tetapi memiliki beberapa masalah keamanan. Karena cookie disimpan di komputer pengguna, penyerang dapat dengan mudah memodifikasi konten cookie untuk memasukkan data yang berpotensi berbahaya ke dalam aplikasi Anda yang dapat merusak aplikasi Anda

Juga setiap kali browser meminta URL ke server, semua data cookie untuk situs web secara otomatis dikirim ke server dalam permintaan tersebut. Ini berarti jika Anda telah menyimpan 5 cookie di sistem pengguna, masing-masing berukuran 4KB, browser perlu mengunggah 20KB data setiap kali pengguna melihat halaman, yang dapat memengaruhi performa situs Anda

Anda dapat menyelesaikan kedua masalah ini dengan menggunakan sesi PHP. Sesi PHP menyimpan data di server daripada di komputer pengguna. Dalam lingkungan berbasis sesi, setiap pengguna diidentifikasi melalui nomor unik yang disebut pengidentifikasi sesi atau SID. ID sesi unik ini digunakan untuk menautkan setiap pengguna dengan informasi mereka sendiri di server seperti email, postingan, dll

Tip. ID sesi dihasilkan secara acak oleh mesin PHP yang hampir tidak mungkin ditebak. Selanjutnya, karena data sesi disimpan di server, tidak harus dikirim dengan setiap permintaan browser

Memulai Sesi PHP

Sebelum Anda dapat menyimpan informasi apa pun dalam variabel sesi, Anda harus memulai sesi terlebih dahulu. Untuk memulai sesi baru, cukup panggil fungsi PHP session_start(). Ini akan membuat sesi baru dan menghasilkan ID sesi unik untuk pengguna

Kode PHP pada contoh di bawah hanya memulai sesi baru

Fungsi session_start()_ pertama memeriksa untuk melihat apakah sesi sudah ada dengan mencari keberadaan ID sesi. Jika menemukan satu, i. e. jika sesi sudah dimulai, itu mengatur variabel sesi dan jika tidak, itu memulai sesi baru dengan membuat ID sesi baru

Catatan. Anda harus memanggil fungsi session_start()_ di awal halaman i. e. sebelum output apa pun dihasilkan oleh skrip Anda di browser, seperti yang Anda lakukan saat menyetel cookie dengan fungsi setcookie()


Menyimpan dan Mengakses Data Sesi

Anda dapat menyimpan semua data sesi Anda sebagai key-value pair di $_SESSION[] superglobal array. Data yang disimpan dapat diakses selama masa sesi. Pertimbangkan skrip berikut, yang membuat sesi baru dan mendaftarkan dua variabel sesi

Untuk mengakses data sesi yang kami atur pada contoh kami sebelumnya dari halaman lain di domain web yang sama — cukup buat ulang sesi dengan memanggil session_start() lalu berikan kunci yang sesuai ke array asosiatif

1

Kode PHP pada contoh di atas menghasilkan keluaran berikut

Catatan. Untuk mengakses data sesi di halaman yang sama tidak perlu membuat ulang sesi karena sudah dimulai di bagian atas halaman


Menghancurkan Sesi

Jika Anda ingin menghapus data sesi tertentu, cukup hapus kunci yang sesuai dari array asosiatif

1, seperti yang ditunjukkan pada contoh berikut

Namun, untuk menghancurkan sesi sepenuhnya, cukup panggil fungsi

3. Fungsi ini tidak memerlukan argumen apa pun dan satu panggilan akan menghancurkan semua data sesi

Catatan. Sebelum menghancurkan sesi dengan fungsi

_3, Anda harus terlebih dahulu membuat ulang lingkungan sesi jika belum ada menggunakan fungsi session_start(), sehingga ada sesuatu yang akan dihancurkan

Setiap sesi PHP memiliki nilai batas waktu — durasi, diukur dalam detik — yang menentukan berapa lama sesi harus tetap hidup tanpa adanya aktivitas pengguna. Anda dapat menyesuaikan durasi timeout ini dengan mengubah nilai variabel

6 di file konfigurasi PHP (
7)

Ada dua fungsi PHP yang sangat mirip session_destroy() & session_unset(). Keduanya tampaknya menghapus semua variabel yang terdaftar ke suatu sesi tetapi ada perbedaan di antara keduanya

fungsi session_destroy(). Itu menghancurkan semua data yang terkait dengan sesi saat ini. Itu tidak menghapus variabel global apa pun yang terkait dengan sesi, atau menghapus cookie sesi

Sintaksis

bool session_destroy( void )

fungsi session_unset(). Itu hanya menghapus variabel dari sesi dan sesi masih ada. Hanya data yang terpotong

Sintaksis

bool session_unset( void )

Contoh 1. Contoh ini menyimpan sesi dengan menggunakan session. file php




<?php

 

// Function to start session

session_start();

 

// Display the session id

echo session_id();

 

bool session_unset( void )
1

bool session_unset( void )
2
bool session_unset( void )
3
bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6
bool session_unset( void )
7

________12______8echo <?php0 <?php1<?php2<?php3

<?php_4

<?php5 <?php6

________12______8echo <?php0 <?php1 1<?php3

<?php_4

 

bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6 8 9<?php3

________12______4

bool session_unset( void )
5// Function to start session3 8// Function to start session5 <?php3

 

// Function to start session_8

Keluaran

Apa fungsi php session_start () dan session_destroy ()?

Sebelum menggunakan fungsi session_unset(). Sebelum menggunakan fungsi sesi itu menampilkan nama dan email




<?php

 

// Function to start session

session_start();

session_start();_3

bool session_unset( void )
1

bool session_unset( void )
2
bool session_unset( void )
3
bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6
bool session_unset( void )
7

________12______8echo <?php2<?php3

<?php_4

<?php5 <?php6

________12______8echo // Display the session id0<?php3

<?php_4

session_start();_3

echo

bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6// Display the session id8<?php0<?php3

echo

bool session_unset( void )
4
bool session_unset( void )
5// Function to start session3// Display the session id8<?php0<?php3

 

// Function to start session_8

Keluaran

Apa fungsi php session_start () dan session_destroy ()?

Setelah menggunakan fungsi session_unset(). Fungsi ini menghancurkan variabel seperti 'nama' dan 'email' yang digunakan




<?php

 

// Function to start session

session_start();

session_start();_3

bool session_unset( void )
1

bool session_unset( void )
2
bool session_unset( void )
3
bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6
bool session_unset( void )
7

________12______8echo <?php2 <?php3

<?php_4

<?php5 <?php6

________12______8echo

bool session_unset( void )
11<?php3

<?php_4

 

echo

bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6
bool session_unset( void )
19

echo

bool session_unset( void )
4
bool session_unset( void )
5// Function to start session3
bool session_unset( void )
19

 

bool session_unset( void )
_26

bool session_unset( void )
27

 

// Function to start session_8

Keluaran

Apa fungsi php session_start () dan session_destroy ()?

fungsi session_destroy(). Itu menghancurkan seluruh sesi daripada menghancurkan variabel. Saat session_start() dipanggil, PHP menyetel cookie sesi di browser. Kami juga perlu menghapus cookie untuk menghancurkan sesi sepenuhnya

Contoh. Contoh ini digunakan untuk menghancurkan sesi




<?php

 

// Function to start session

session_start();

 

bool session_unset( void )
1

bool session_unset( void )
2
bool session_unset( void )
3
bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6
bool session_unset( void )
7

________12______8echo <?php2<?php1<?php0 <?php3

<?php_4

<?php5 <?php6

________12______8echo  1<?php1<?php0<?php3

<?php_4

 

echo

bool session_unset( void )
4
bool session_unset( void )
5
bool session_unset( void )
6// Display the session id8<?php0<?php3

echo

bool session_unset( void )
4
bool session_unset( void )
5// Function to start session3// Display the session id8<?php0<?php3

 

bool session_unset( void )
4
bool session_unset( void )
75
bool session_unset( void )
76
bool session_unset( void )
77

 

bool session_unset( void )
79

bool session_unset( void )
80

bool session_unset( void )
_81

bool session_unset( void )
_82

bool session_unset( void )
2
bool session_unset( void )
84
bool session_unset( void )
85
bool session_unset( void )
84________12______87
bool session_unset( void )
88

________12______8

bool session_unset( void )
90
bool session_unset( void )
91

________12______8

bool session_unset( void )
93
bool session_unset( void )
94
bool session_unset( void )
95

bool session_unset( void )
96
bool session_unset( void )
90
bool session_unset( void )
5
bool session_unset( void )
99<?php00
bool session_unset( void )
90
bool session_unset( void )
5<?php03<?php00

bool session_unset( void )
96
bool session_unset( void )
90
bool session_unset( void )
5<?php08<?php00
bool session_unset( void )
90
bool session_unset( void )
5<?php12<?php13

________12______8<?php15

<?php_4

 

<?php_18

<?php_19

 

// Function to start session_8

Keluaran

Apa fungsi php session_start () dan session_destroy ()?

Pelaksanaan sesi. php Anda dapat melihat bahwa ada ID sesi yang berbeda itu berarti sesi sebelumnya telah dihancurkan dan semua variabel dan cookie juga dihancurkan. Karena semua variabel dihancurkan maka PHP pergi ke keluaran kondisi lain 'sesi dihancurkan'
Apa fungsi php session_start () dan session_destroy ()?

Catatan. Jika diinginkan untuk mematikan sesi, hapus juga cookie sesi. Ini akan menghancurkan sesi, dan bukan hanya data sesi

Apa itu fungsi session_start() PHP?

session_start() membuat sesi atau melanjutkan sesi saat ini berdasarkan pengenal sesi yang diteruskan melalui permintaan GET atau POST, atau diteruskan melalui cookie. When session_start() is called or when a session auto starts, PHP will call the open and read session save handlers.

Di mana fungsi session_start () harus muncul di PHP?

Fungsi session_start() . Penting. Fungsi, session_start() , harus dipanggil di awal halaman . Fungsi ini dimulai dengan memeriksa apakah sudah ada sesi melalui ID sesi.

Bagaimana cara menggunakan session_start di PHP?

Memulai Sesi PHP . Fungsi ini pertama-tama memeriksa apakah sesi sudah dimulai dan jika tidak ada yang dimulai maka akan dimulai. Direkomendasikan untuk memanggil session_start() di awal halaman

Mengapa Anda harus memanggil session_start () sebelum keluaran apa pun?

Penting untuk diingat bahwa session_start() harus dipanggil sebelum output dikirim ke browser. Ini adalah sumber kesalahan yang umum, misalnya jika file PHP memiliki baris kosong di awal . session_name() mengubah nama Sesi saat ini dan nama Cookie Sesi yang dikirim ke browser jarak jauh.