Sesi PHP
Sesi adalah cara untuk menyimpan informasi (dalam variabel) untuk digunakan di beberapa halaman.
Tidak seperti cookie, informasi tidak disimpan di komputer pengguna.
Apa itu Sesi PHP?
Saat Anda bekerja dengan aplikasi, Anda membukanya, melakukan beberapa perubahan, dan kemudian Anda menutupnya. Ini sangat mirip dengan Sesi. Komputer tahu siapa Anda. Ia tahu kapan Anda memulai aplikasi dan kapan Anda mengakhiri. Tetapi di internet ada satu masalah: server web tidak tahu siapa Anda atau apa yang Anda lakukan, karena alamat HTTP tidak mempertahankan status.
Variabel sesi memecahkan masalah ini dengan menyimpan informasi pengguna untuk digunakan di beberapa halaman (misalnya nama pengguna, warna favorit, dll). Secara default, variabel sesi berlangsung hingga pengguna menutup browser.
Jadi; Variabel sesi menyimpan informasi tentang satu pengguna tunggal, dan tersedia untuk semua halaman dalam satu aplikasi.
Tip: Jika Anda memerlukan penyimpanan permanen, Anda mungkin ingin menyimpan data dalam database .
Mulai Sesi PHP
Sesi dimulai dengan session_start()
fungsi.
Variabel sesi disetel dengan variabel global PHP: $_SESSION.
Sekarang, mari kita buat halaman baru bernama "demo_session1.php". Di halaman ini, kita memulai sesi PHP baru dan mengatur beberapa variabel sesi:
Contoh
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>
</body>
</html>
Catatan: Fungsisession_start()
harus menjadi hal pertama dalam dokumen Anda. Sebelum tag HTML apa pun.
Dapatkan Nilai Variabel Sesi PHP
Selanjutnya, kita membuat halaman lain yang disebut "demo_session2.php". Dari halaman ini, kita akan mengakses informasi sesi yang kita atur di halaman pertama ("demo_session1.php").
Perhatikan bahwa variabel sesi tidak diteruskan satu per satu ke setiap halaman baru, melainkan diambil dari sesi yang kita buka di awal setiap halaman ( session_start()
).
Perhatikan juga bahwa semua nilai variabel sesi disimpan dalam variabel global $_SESSION:
Contoh
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
Cara lain untuk menampilkan semua nilai variabel sesi untuk sesi pengguna adalah dengan menjalankan kode berikut:
Contoh
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
Bagaimana cara kerjanya? Bagaimana dia tahu itu aku?
Sebagian besar sesi menyetel kunci pengguna di komputer pengguna yang terlihat seperti ini: 765487cf34ert8dede5a562e4f3a7e12. Kemudian, ketika sesi dibuka di halaman lain, ia memindai komputer untuk mencari kunci pengguna. Jika ada kecocokan, ia mengakses sesi itu, jika tidak, ia memulai sesi baru.
Memodifikasi Variabel Sesi PHP
Untuk mengubah variabel sesi, timpa saja:
Contoh
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>
</body>
</html>
Hancurkan Sesi PHP
Untuk menghapus semua variabel sesi global dan menghancurkan sesi, gunakan session_unset()
dan session_destroy()
:
Contoh
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
</body>
</html>