Rumah >pembangunan bahagian belakang >tutorial php >Belajar pengurusan sesi dalam PHP
Pengurusan sesi ialah bahagian penting dalam pembangunan web, ia membolehkan kami berkongsi data antara pengguna dan pelayan serta menjejaki pengguna merentas berbilang halaman. PHP menyediakan kaedah pengurusan sesi terbina dalam, menjadikannya bahasa yang ideal untuk membangunkan aplikasi web. Dalam artikel ini, kami akan menyelami pengurusan sesi dalam PHP dan membincangkan sesi, kuki, pengurusan sesi mudah menggunakan PHP dan beberapa teknik untuk menambah baik lagi.
Apakah sesi dalam PHP?
Dalam pembangunan web, sesi ialah mekanisme untuk menjejak status dan tingkah laku pengguna merentas berbilang halaman. Ringkasnya, ia adalah sambungan berterusan antara pelayan web dan klien web. Pelayan web menyimpan pengecam unik dalam kuki dan menyediakan pengecam ini dengan setiap permintaan seterusnya. Pengecam ini boleh digunakan untuk menjejak interaksi antara pengguna dan pelayan, dan data yang disimpan kekal tersedia sepanjang sesi.
Faedah pengurusan sesi
Apabila kami menggunakan aplikasi web, sila fikirkan dengan teliti tentang isu berikut. Contohnya, dalam dunia e-dagang, aplikasi perlu menentukan pengguna yang telah log masuk, item yang telah ditambahkan pada troli beli-belah, sejarah transaksi pengguna dan semua data lain yang berkaitan yang perlu disimpan. Sekarang, bagaimana anda menentukan pengguna yang menyerahkan data ini? Di sinilah pengurusan sesi masuk.
Pengurusan sesi ringkas menggunakan PHP
PHP menyediakan sokongan asli untuk pengurusan sesi. Panggilan fungsi session_start() memulakan sesi baharu atau memulihkan keadaan sesi sesi semasa. Mari kita lihat kod untuk contoh berikut, yang menyokong membuat dan menyimpan sesi dalam PHP:
session_start(); $_SESSION['username'] = 'john_doe';
Sekeping kod mudah seperti ini boleh memulakan sesi baharu dan menyimpan nama pengguna dalam sesi. Kami kemudiannya boleh mendapatkan dan mengeluarkan pembolehubah ini dalam sesi dengan kod berikut:
echo $_SESSION['username'];
Pengurusan ID Sesi
Setiap sesi mempunyai ID sesi, diwakili sebagai rentetan yang disulitkan ini data sesi dijamin dan Sesi dilindungi.
PHP menyediakan beberapa pilihan untuk mengurus ID sesi, yang mana kuki dan parameter URL adalah dua bentuk biasa.
Gunakan kuki untuk lulus ID sesi.
PHP boleh menggunakan "session.cookie_lifetime" untuk mengurus jangka hayat kuki sesi. Dalam contoh seterusnya, kami akan menetapkan kuki untuk tamat tempoh selepas 1 saat:
ini_set('session.cookie_lifetime', 1);
Sekarang, PHP menetapkan kuki pada pelayar klien dan Simpan ID sesi. Kuki ini akan tamat tempoh secara automatik selepas 1 saat. Kod berikut boleh digunakan untuk mengesahkan bahawa anda mempunyai sesi dan mendapatkan semula pembolehubah $_SESSION:
if (isset($_SESSION['username'])) {
echo $_SESSION['username'];
} else {
echo 'Session is not set.';
}
Berdasarkan ini, kami boleh menggunakan petunjuk pada mana-mana halaman dalam PHP untuk mengesahkan bahawa data sesi dan sesi tersedia, dengan itu mengekalkan keadaan aplikasi web (seperti troli beli-belah).
Gunakan parameter URL untuk menghantar ID sesi.
Dalam sesetengah kes, penyemak imbas mungkin melumpuhkan kuki sesi, atau kami ingin menambahkan ID Sesi pada URL apabila berurusan dengan API RESTful dsb. Pada ketika ini, kita boleh menetapkan session.use_only_cookies kepada false, supaya PHP menambahkan ID Sesi pada URL:
$session_name = session_name();
$id = session_id();
$ laluan = session_save_path();
$url = "http://example.com/?{$session_name}={$id}";
header('Lokasi: ' . $url);
Coretan kod ini akan menambah ID sesi pada URL, memastikan semua interaksi pengguna akan sentiasa kekal di bawah sesi yang sama.
Petua untuk pengurusan sesi yang dipertingkatkan dengan PHP
Kesimpulan
Dalam artikel ini, kami memperkenalkan teknik untuk melaporkan status data dalam PHP dan membincangkan cara melaksanakan sesi menggunakan pengurus sesi terbina dalam PHP. Dengan menggunakan teknologi ini, kami boleh menjejaki interaksi nyata antara pengguna dan aplikasi web dengan mudah dan membina aplikasi web yang sangat diperibadikan. Kami berharap maklumat ini berguna kepada pembangun projek web berasaskan PHP.
Atas ialah kandungan terperinci Belajar pengurusan sesi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!