Sesi PHP

Variabel session PHP digunakan untuk menyimpan maklumat tentang sesi pengguna, atau untuk mengubah tetapan sesi pengguna. Maklumat yang disimpan variabel session adalah untuk pengguna tunggal, dan boleh digunakan di semua halaman dalam aplikasi.

Variabel Session PHP

Ketika anda menjalankan aplikasi, anda akan buka, membuat perubahan, dan kemudian tutupnya. Ini hampir seperti sesi. Komputer tahu siapa anda. Dia tahu apabila anda memulai aplikasi, dan apabila anda mengakhiri. Tetapi di Internet, ada masalah: pelayan tidak tahu siapa anda dan apa yang anda lakukan, kerana alamat HTTP tidak dapat mempertahankan keadaan.

Dengan menyimpan maklumat pengguna di pelayan untuk digunakan nanti, PHP session menyelesaikan masalah ini (seperti nama pengguna, produk yang dibeli, dll). Walau bagaimanapun, maklumat sesi adalah sementara, dan akan dihapus apabila pengguna meninggalkan laman web. Jika anda memerlukan pengelolaan maklumat yang kekal, anda boleh menyimpan data di pangkalan data.

Kerjaan Session adalah: untuk setiap pengunjung mencipta ID unik (UID), dan menyimpan variabel berdasarkan UID ini. UID disimpan di cookie, atau disalurkan melalui URL.

Mulai Sesi PHP

Sebelum anda menyimpan maklumat pengguna ke dalam session PHP, anda mesti mula sesi terlebih dahulu.

Keterangan:Fungsi session_start() mesti berada di bawah tag <html>:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

Kod di atas akan mendaftarkan sesi pengguna kepada pelayan, supaya anda dapat mulai menyimpan maklumat pengguna, dan akan diberikan UID untuk sesi pengguna.

Simpan Variabel Session

Penggunaan benar untuk menyimpan dan mengambil nilai session variabel adalah melalui $_SESSION variabel PHP:

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

Output:

Pageviews=1

Dalam contoh di bawah, kami mencipta penghitung page-view yang sederhana. Fungsi isset() mengesan sama ada variabel "views" telah ditetapkan. Jika "views" telah ditetapkan, kami menambahkan penambah angka. Jika "views" tidak wujud, kami cipta variabel "views" dan menetapkannya 1:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

Tamatkan Session

Jika anda mahu menghapus beberapa data session, anda boleh menggunakan fungsi unset() atau session_destroy().

Fungsi unset() digunakan untuk melepaskan variabel session yang ditentukan:

<?php
unset($_SESSION['views']);
?>

Anda juga boleh menggugurkan session sepenuhnya melalui fungsi session_destroy():

<?php
session_destroy();
?>

Keterangan:session_destroy() akan mengatur semula session, dan anda akan kehilangan semua data session yang disimpan.