Rumah pembangunan bahagian belakang tutorial php 使用Cookie和用户会话

使用Cookie和用户会话

Aug 08, 2016 am 09:29 AM
cookie echo php session

 使用Cookie和用户会话

Cookie

Cookie,存储一些关于用户的较小的信息。它和一个来自服务器或脚本的请求相一致。通过一个用户的浏览器,一个主机可以请求保存20个cookie.每个coopkie包含一个名字,值和过期日期,以及主机和路径信息。一个单个的cookie的大小限制是4kb。在设置了cookie之后,只有发出请求的主机能够读取数据,这就保证了用户隐私得到尊重。另外,用户可以配置自己的浏览器通知他接受或是拒绝所有的cookie的请求。

设置了一个cookie的PHP脚本发送的标头的Set-Cookie项可能如下:

Set-Cookie:vegetable=artichoke;path=/;domain=yourdomain.com

Set-Cookie标头包含:

一个名/值对(vegetable=artichoke),

一个路径(path=/)和一个域(domain=yourdomain.com)。

如果设置了expiration字段,它会提供浏览器在哪个日期“忘记”cookie的值。如果没有设置过期日期,当用户会话过期的时候,也就是当用户关掉浏览器的时候,cookie就过期了。

path字段和domain字段协同工作,因为path是找到domain的一个目录,cookie应该送回给服务器的这个目录下面。如果路径是“/”,这是很常见的值,意味着cookie可以由文档根目录下的任何文件读取。

如果路径是“/products”,这个cookie只能够被web站点的/products目录下的文件读取。

随后,一个PHP脚本将能够访问cookie,cookie在环境变量HTTP_COOKIE中或者作为$_COOKIE超全局变量的一部分,可以用三种方式访问它们:

echo $_SERVER["HTTP_COOKIE"];
echo getenv("HTTP_COOKIE");
echo $_COOKIE["vegetable"];
Salin selepas log masuk

设置Cookie

<?php /**
 *setcookie()函数输出一个Set-Cookie标头。它应该在任何其他内容发送给浏览器之前调用。
 *参数:cookie名字、cookie值、过期日期、路径、域、一个整数
 *如果cookie仅通过一个安全的连接发送的话,这个整数的值设为1。0表示在一个非安全的环境中发送。
 */
setcookie("vegetable","artichoke",time()+3600,"/","localhost",0);

if (isset($_COOKIE["vegetable"])){
	echo "<p>Hello again,you hava chosen:".$_COOKIE["vegetable"].".";
	
}else {
	echo "<p>Hello you.This may be your first visit.</p>";
}
?> 
Salin selepas log masuk

安全删除cookie的方法同样调用setcookie()函数,只需使用一个确定已经过期的时间,如:time()-60。

用户会话

会话函数为用户提供了一个唯一的标识符,随后可以用来存储和获取连接到该标识符的信息。当一个访客访问一个支持会话的页面,要么分配一个新的标识符,要么这个用户和之前的访问已经建立的一个标识符重新关联。任何已经和会话相关联的变量,都通过$_SESSION超全局变量变得可供你的代码使用。会话状态通常存储在一个临时文件中,尽管你可以使用一个名为session_set_save_handler()的函数实现数据库存储。

开始一个会话,返回ID,并存储变量,保存为session1.php。

<?php session_start();
echo "<p>Your session ID is ".session_id().".";
$_SESSION["product1"] = "Sonic Screwdriver";
$_SESSION["product2"] = "HAL 2000";
echo "The products have been registered.";
?>
Salin selepas log masuk

访问存储的会话变量,使用session_save_path()函数查看临时文件保存在系统的什么地方,保存为sesson2.php。

<?php session_start();
echo "Your chosen products are:";
echo "<ul>";
echo "
Salin selepas log masuk
  • ".$_SESSION["product1"]."
  • "; echo "
  • ".$_SESSION["product2"]."
  • "; echo ""; echo session_save_path(); ?>

    先访问服务器的sesson1.php,结果如下:

    再访问服务器下的session2.php,结果如下:

    在该路径下 找到sess_curdcq4agn11gq4fdj4bq2kj33,用记事本打开,就可以看到已注册的变量是如何保存的。

    当一个值放置在$_SESSION超全局变量中,PHP把变量名和值写入一个文件中,这个信息可以读取并且变量可以稍后恢复。当我们把这个变量添加到超全局变量$_SESSION后,你仍然可以在脚本执行过程中的任何时刻修改其值,但是,这个修改后的值不会反映到全局设置中,直到把这个变量重新分配给超全局变量$_SESSION。 

    • 使用Cookie和用户会话
    • 大小: 130.8 KB
    • 使用Cookie和用户会话
    • 大小: 129.8 KB
    • 使用Cookie和用户会话
    • 大小: 22.1 KB
    • 查看图片附件

    以上就介绍了使用Cookie和用户会话,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    Kenyataan Laman Web ini
    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

    PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

    Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

    Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

    7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

    Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

    Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

    Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

    Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

    JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

    Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

    Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

    Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

    Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

    Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

    Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

    See all articles