Tutorial asas pembangunan PHP - Sesi
1. Pengenalan kepada Sesi PHP
Melalui kajian di bahagian sebelumnya, kami tahu bahawa kuki mengekalkan data dengan pelayan dengan menyimpan data pada klien . Disambungkan, dan Sesi mengekalkan sambungan dengan menyimpan data pada bahagian pelayan.
Pembolehubah sesi PHP digunakan untuk menyimpan maklumat tentang sesi pengguna (sesi), atau untuk menukar tetapan sesi pengguna (sesi). Pembolehubah sesi menyimpan maklumat untuk pengguna tunggal dan tersedia untuk semua halaman dalam aplikasi.
2 Pembolehubah Sesi PHP
Apabila kami mengendalikan aplikasi pada komputer, anda membukanya dan membuat perubahan, dan kemudian tutup je. 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.
Sesi berfungsi dengan mencipta id unik (UID) untuk setiap pelawat dan menyimpan pembolehubah berdasarkan UID ini. UID disimpan dalam kuki atau melalui URL.
3. Mulakan Sesi PHP
Sebelum anda menyimpan maklumat pengguna dalam sesi PHP, anda mesti memulakan sesi terlebih dahulu.
Nota: Fungsi session_start() mesti diletakkan sebelum teg <html>:
<?php session_start(); ?> <html> <body> </body> </html>
Kod di atas akan mendaftarkan sesi pengguna dengan pelayan supaya anda boleh mula menyimpan maklumat pengguna , dan juga akan Sesi pengguna diberikan UID.
4. Menyimpan Pembolehubah Sesi
Cara yang betul untuk menyimpan dan mendapatkan pembolehubah sesi ialah menggunakan pembolehubah PHP $_SESSION:
Contoh: Kod adalah seperti berikut
<?php session_start(); // 存储 session 数据 $_SESSION['views']=10000; ?> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php // 检索 session 数据 echo "浏览量:". $_SESSION['views']; ?> </body> </html>
Output adalah seperti yang ditunjukkan di sebelah kanan
Dalam contoh di bawah, kami mencipta kaunter paparan halaman yang ringkas. Fungsi isset() mengesan sama ada pembolehubah "views" telah ditetapkan. Jika pembolehubah "pandangan" telah ditetapkan, kami menambah pembilang. Jika "views" tidak wujud, cipta pembolehubah "views" dan tetapkannya kepada 1: Kod adalah seperti berikut
<?php session_start(); if(isset($_SESSION['views'])) { $_SESSION['views']=$_SESSION['views']+1; } else { $_SESSION['views']=1; } echo "浏览量:". $_SESSION['views']; ?>
Output adalah seperti yang ditunjukkan di sebelah kanan
Setiap muat semula, bilangan tontonan meningkat satu
5 Musnahkan Sesi
Jika kita ingin memadamkan beberapa data sesi, kita 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']); } ?> 我们也可以通过调用 session_destroy() 函数彻底销毁 session: <?php session_destroy(); ?>
Nota: session_destroy() akan menetapkan semula sesi dan anda akan kehilangan semua data sesi yang disimpan.
Nota: Perbezaan antara kuki dan sesi