Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

WBOY
WBOYasal
2021-10-26 11:59:306067semak imbas

Dalam artikel sebelumnya, saya membawakan anda "Bagaimana untuk mencipta, membaca dan memadam kuki dalam PHP? 》, yang memperkenalkan secara terperinci cara membuat, membaca dan memadam kuki dalam PHP Dalam artikel ini, kami akan melihat pada sesi tetapan, mendapatkan dan mengosongkan dalam PHP. Semoga ia membantu semua orang!

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

Dalam artikel sebelum ini, kami memperkenalkan cookie yang digunakan oleh pelanggan untuk menyimpan data pengguna Dalam artikel ini, kami melihat yang memainkan peranan yang sangat penting peranan dalam PHP. session, sesi ialah mekanisme bahagian pelayan, yang juga digunakan untuk menyimpan maklumat Berbanding dengan kuki yang disimpan di bahagian klien, pengguna tidak boleh melumpuhkan sesi yang disimpan di bahagian pelayan setiap kali. , anda tidak perlu memulangkan semua nilai kuki setiap kali, anda hanya perlu mengembalikan ID ini dijana apabila anda mengakses pelayan untuk kali pertama, dan adalah unik.

Kemudian mari kita lihat apakah itu sesi dan bagaimana untuk menetapkan, mendapatkan dan memadam sesi

Apakah itu sesisession

Sesi dalam bahasa Cina bermaksud sesi Ia digunakan untuk menyimpan maklumat berkaitan pengguna Ini serupa dengan kuki, seperti nama pengguna, tetapan diperibadikan, dll. Berbeza daripada kuki, kuki Ia menyimpan. data dalam komputer pelanggan dan pengguna boleh melumpuhkannya semasa sesi menyimpan data dalam sistem pelayan. Halaman web ialah sambungan program tanpa negara dan tidak boleh merekodkan status pengguna, jadi amat penting untuk merekodkan maklumat berkaitan pengguna melalui sesi.

Apabila sesi dibuka, PHP akan membuat sessionID secara rawak dan setiap sessionID pengguna adalah unik. ID sesi ini akan disimpan pada kedua-dua klien dan pelayan Ia disimpan dalam direktori yang ditentukan yang menggunakan kuki pada klien pada pelayan, ia disimpan dalam bentuk teks yang dipanggil semula dalam direktori sesi yang ditentukan.

Berbanding dengan kuki, sesi mempunyai banyak kelebihan:

Oleh kerana data sesi tidak dihantar ke sana ke mari antara klien dan pelayan, biasanya sesi lebih selamat; lebih banyak maklumat daripada kuki; pengguna boleh melumpuhkan kuki, tetapi terdapat cara untuk membuat sesi berfungsi seperti biasa.

Setelah memahami apa itu sesi, mari kita lihat cara membuka sesi.

Hidupkansession

Tidak seperti kuki, kuki boleh dibuat terus, tetapi ia mesti dimulakan sebelum menggunakan sesi untuk Membenarkan program teras dalam PHP untuk pramuat persekitaran terbina dalam berkaitan sesi ke dalam memori.

Dalam PHP, tujuan membuka sesi boleh dicapai melalui fungsi session_start() Format sintaks fungsi session_start() adalah seperti berikut:

session_start ([array $options = array()])

. Apa yang perlu diperhatikan ialah:

$options ialah fungsi pilihan dan tatasusunan bersekutu, dan kunci dalam tatasusunan ini tidak perlu mengandungi awalan sesi.

Contohnya adalah seperti berikut:

<?php
    session_start([
        &#39;cookie_lifetime&#39; => 60*60*24,  // 设置 cookie 的有效时间为 1 天
    ]);
    echo &#39;Session ID 为:&#39;.$_COOKIE[&#39;PHPSESSID&#39;];
?>

Hasil keluaran:

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

Perlu diingatkan bahawa : panggil session_start() Fungsi ini akan menjana ID Sesi yang unik dan menyimpannya dalam kuki penyemak imbas Nama lalai ialah "PHPSESSID". Pada masa yang sama, fail Sesi yang terdiri daripada "sess_" ditambah ID Sesi dijana dalam direktori setempat untuk menyimpan data dalam Sesi Hasil output ialah:

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

. Melalui contoh di atas, anda telah mempelajari cara membuka sesi, kemudian mari kita lihat cara menetapkan dan mendapatkan sesi

Set and getsession

Dalam perkara di atas, selepas memulakan sesi, jika anda ingin menggunakan pembolehubah sesi, anda perlu menetapkan dan mendapatkan data dalam sesi Untuk melengkapkan ini, anda perlu menggunakan tatasusunan $_SESSION . Sebelum menggunakan $_SESSION, anda mesti mencuba fungsi session_start() untuk membuka sesi.

$_SESSION ialah tatasusunan bersekutu, yang mempunyai makna yang sama seperti pasangan nilai kunci tatasusunan biasa. Format sintaks untuk menetapkan Sesi adalah seperti berikut:

$_SESSION[名称] = 值;

Contohnya adalah seperti berikut:

<?php
    session_start();
    $str = &#39;好好学习&#39;;
    $arr = [&#39;Session&#39;,&#39;$_SESSION&#39;];
    $_SESSION[&#39;study&#39;]  = $str;
    $_SESSION[&#39;study1&#39;]   = &#39;天天向上&#39;;
    $_SESSION[&#39;title&#39;] = $arr;
    foreach ($_SESSION as $key => $value) {
        if(is_array($value)){
            echo $key.&#39;:&#39;;
            print_r($value);
        }else{
            echo $key.&#39; = &#39;.$value.&#39;<br>&#39;;
        }
    }
?>

Hasil keluaran:

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

Perlu memberi perhatian selepas menjalankan Perkaranya ialah: pembolehubah atau tatasusunan ini akan disimpan ke $_SESSION, dan juga akan disimpan ke fail yang dinamakan oleh "sess_" dan ID Sesi di sebelah pelayan Lokasi fail ini boleh diubah suai dengan mengubah suai fail konfigurasi php.ini atau Gunakan konfigurasi session.save_path.

Kami telah belajar di atas cara membuka, menetapkan dan mendapatkan sesi Seterusnya, mari kita lihat cara memadamkan sesi.

Padamkan satu sesi

删除单个session元素需要通过unset()函数,该函数可以释放指定的变量,相当于直接注销掉数组中的元素,他的语法格式如下:

unset(mixed $var [, mixed $...])

其中需要注意的是:

$var 为要释放的变量,unset() 函数可以接收多个参数,参数之间使用,分隔。

实例如下:

<?php
    session_start();
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    $str = &#39;好好学习&#39;;
    $arr = [&#39;删除 Session&#39;,&#39;$_SESSION&#39;];
    $_SESSION[&#39;study&#39;]  = $str;
    $_SESSION[&#39;study1&#39;]   = &#39;天天向上&#39;;
    $_SESSION[&#39;title&#39;] = $arr;
    echo &#39;定义一个 Session,如下所示:<br>&#39;;
    print_r($_SESSION);
    echo &#39;删除 Session 中名为 title 的元素:<br>&#39;;
    unset($_SESSION[&#39;title&#39;]);
    print_r($_SESSION);
?>

输出结果:

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

如此便通过unset()函数完成了删除session单个元素了。

删除session多个元素

如果想要一次性删除多个 Session 元素,即一次注销所有的会话变量,可以通过将一个空的数组赋值给 $_SESSION 来实现

实例如下:

<?php
    session_start();
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    $str = &#39;好好学习&#39;;
    $arr = [&#39;删除 Session&#39;,&#39;$_SESSION&#39;];
    $_SESSION[&#39;study&#39;]  = $str;
    $_SESSION[&#39;study1&#39;]   = &#39;天天向上&#39;;
    $_SESSION[&#39;title&#39;] = $arr;
    echo &#39;定义一个 Session,如下所示:<br>&#39;;
    print_r($_SESSION);
    echo &#39;删除 Session 中名为 title 的元素:<br>&#39;;
    $_SESSION = array();
    print_r($_SESSION);
?>

通过将一个空的数组赋值给 $_SESSION 输出结果:

Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?

还有一种方法就是通过session_unset() 函数来释放session中的所有元素,实例如下:

<?php
    session_start();
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    $str = &#39;好好学习&#39;;
    $arr = [&#39;删除 Session&#39;,&#39;$_SESSION&#39;];
    $_SESSION[&#39;study&#39;]  = $str;
    $_SESSION[&#39;study1&#39;]   = &#39;天天向上&#39;;
    $_SESSION[&#39;title&#39;] = $arr;
    echo &#39;定义一个 Session,如下所示:<br>&#39;;
    print_r($_SESSION);
    echo &#39;删除 Session 中名为 title 的元素:<br>&#39;;
    session_unset();
    print_r($_SESSION);
?>

输出结果与上述实例的结果相同,由此我们便通过两种方法可以删除session多个元素了。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

Atas ialah kandungan terperinci Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn