使用Cookie和用户会话
使用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"];
设置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>"; } ?>
安全删除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."; ?>
访问存储的会话变量,使用session_save_path()函数查看临时文件保存在系统的什么地方,保存为sesson2.php。
<?php session_start(); echo "Your chosen products are:"; echo "<ul>"; echo "
先访问服务器的sesson1.php,结果如下:
再访问服务器下的session2.php,结果如下:
在该路径下 找到sess_curdcq4agn11gq4fdj4bq2kj33,用记事本打开,就可以看到已注册的变量是如何保存的。
当一个值放置在$_SESSION超全局变量中,PHP把变量名和值写入一个文件中,这个信息可以读取并且变量可以稍后恢复。当我们把这个变量添加到超全局变量$_SESSION后,你仍然可以在脚本执行过程中的任何时刻修改其值,但是,这个修改后的值不会反映到全局设置中,直到把这个变量重新分配给超全局变量$_SESSION。
- 大小: 130.8 KB
- 大小: 129.8 KB
- 大小: 22.1 KB
- 查看图片附件
以上就介绍了使用Cookie和用户会话,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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

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

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

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,

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

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 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.
