Sesi PHP
Sesi ialah cara yang lebih selamat untuk pelanggan berkomunikasi dengan tapak web (pelayan). Sebaik sahaja sesi dibuka, ia boleh digunakan (dikekalkan) pada mana-mana halaman laman web, dengan itu mewujudkan mekanisme "dialog" antara pelawat dan laman web.
Pembolehubah sesi menyimpan maklumat untuk seorang pengguna dan tersedia untuk semua halaman dalam aplikasi.
Pembolehubah Sesi PHP
Apabila anda mengusahakan aplikasi pada komputer anda, anda membukanya, membuat perubahan dan kemudian menutupnya. Ia banyak seperti perbualan. Komputer tahu siapa anda. Ia tahu apabila anda membuka dan menutup apl. Walau bagaimanapun, di Internet masalah timbul: kerana alamat HTTP tidak dapat mengekalkan keadaan, pelayan web tidak tahu siapa anda dan apa yang anda lakukan.
Sesi PHP menyelesaikan masalah ini dengan menyimpan maklumat pengguna pada pelayan untuk kegunaan seterusnya (seperti nama pengguna, item yang dibeli, dsb.). Walau bagaimanapun, maklumat sesi adalah sementara dan akan dipadamkan selepas pengguna meninggalkan tapak. Jika anda perlu menyimpan maklumat secara kekal, anda boleh menyimpan data dalam pangkalan data.
Keranjang beli-belah dalam talian biasa ialah aplikasi biasa sesi. Apabila kami menempah produk, kami meletakkan produk yang dipilih ke dalam troli beli-belah, yang sebenarnya membuka sesi untuk produk tersebut. Jika pesanan dibuat untuk produk yang dipilih, maklumat yang sepadan akan ditulis ke pangkalan data jika tiada pesanan dibuat, sesi akan ditutup apabila pengguna menutup pelayar atau log keluar, dan produk yang dipilih akan menjadi tidak sah.
Sesi akan mencipta ID sesi unik untuk setiap pelawat yang membuka sesi untuk mengenal pasti pengguna. ID sesi mungkin disimpan dalam kuki pada komputer pengguna, atau ia mungkin dihantar melalui URL. Nilai sesi khusus yang sepadan akan disimpan di bahagian pelayan, yang juga merupakan perbezaan utama daripada kuki, dan keselamatannya agak tinggi.
Memulakan Sesi PHP
Sebelum anda boleh menyimpan maklumat pengguna dalam sesi PHP, anda mesti memulakan sesi terlebih dahulu.
Gunakan fungsi session_start() untuk membuka sesi, dan sistem akan menetapkan ID sesi
Nota: Fungsi session_start() mesti terletak sebelum teg <html> 🎜>
<?php session_start();>
🎜>
Kod di atas akan mendaftarkan sesi pengguna dengan pelayan supaya anda boleh mula menyimpan maklumat pengguna, dan akan menetapkan UID kepada sesi pengguna.
Menyimpan Pembolehubah Sesi
<?php session_start(); // 存储 session 数据 $_SESSION['views']=1; ?> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php // 检索 session 数据 echo "浏览量:". $_SESSION['views']; ?> </body> </html>Output: Paparan: 1
Dalam contoh di bawah, kami mencipta kaunter paparan halaman yang mudah. Fungsi isset() mengesan sama ada pembolehubah "views" telah ditetapkan. Jika pembolehubah "pandangan" telah ditetapkan, kami menambah pembilang. Jika "pandangan" tidak wujud, buat pembolehubah "pandangan" dan tetapkannya kepada 1:
<?php session_start(); if(isset($_SESSION['views'])) { $_SESSION['views']=$_SESSION['views']+1; } else { $_SESSION['views']=1; } echo "浏览量:". $_SESSION['views']; ?>
Hancurkan Sesi
Jika anda Jika anda ingin memadam beberapa data sesi, anda boleh menggunakan fungsi unset() atau session_destroy(). Fungsi
unset() digunakan untuk melepaskan pembolehubah sesi yang ditentukan:
<?php session_start(); if(isset($_SESSION['views'])) { unset($_SESSION['views']); } ?>
Anda juga boleh memusnahkan sepenuhnya sesi dengan memanggil fungsi session_destroy():
<?php session_destroy(); ?>
Nota : session_destroy() Sesi akan ditetapkan semula dan anda akan kehilangan semua data sesi yang disimpan.
session_id
Sesi digunakan untuk menjejaki setiap sesi pengguna dan dikenal pasti menggunakan SessionID yang dijana oleh pelayan untuk membezakan pengguna. Sesi disimpan dalam memori pelayan, dan SessionID disimpan dalam memori pelayan dan Kuki pelanggan. Dengan cara ini, apabila pengguna membuat permintaan, pelayan membandingkan SessionID yang direkodkan dalam kuki pengguna dengan SessionID dalam memori pelayan, dengan itu mencari Sesi yang sepadan dengan pengguna untuk operasi. Oleh itu, jika pelanggan melumpuhkan kuki, Sesi tidak boleh digunakan.