PHP如何操作Cookie?
Cookie是存储在客户端计算机上的文本文件,它们保留用于跟踪目的。PHP透明地支持HTTP cookie。
识别回归用户涉及三个步骤
● 服务器脚本将一组cookie发送到浏览器。例如年龄等。
● 浏览器将此信息存储在本地计算机上以供将来使用
● 当下次浏览器向Web服务器发送任何请求时,它会将这些cookie信息发送到服务器,服务器使用该信息来识别用户。
本章将教您如何设置cookie,如何访问它们以及如何删除它们。
Cookie的剖析
Cookie通常设置在HTTP标头中(尽管JavaScript也可以直接在浏览器上设置cookie)。设置cookie的PHP脚本可能会发送看起来像这样的标题(浏览器F12,network(网络)可以看到)
HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; path=/; domain=jc2182.com Connection: close Content-Type: text/html
如您所见,Set-Cookie标头包含名称值对,GMT日期,路径和域。名称和值将进行URL编码。expires字段是浏览器在给定时间和日期之后删除cookie的指令。如果浏览器配置为存储cookie,则会将此信息保留到有效期。如果用户将浏览器指向与cookie的路径和域匹配的任何页面,它会将cookie重新发送到服务器。浏览器的标题可能如下所示
GET / HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc) Host: zink.demon.co.uk:1126 Accept: image/gif, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: name=xyz
然后,PHP脚本可以访问环境变量$_COOKIE,其中包含所有cookie名称和值。
用PHP设置Cookies
PHP提供了setcookie()函数来设置cookie。此函数最多需要六个参数,应在标记之前调用。对于设置每一个cookie,必须单独调用此函数。
setcookie(name, value, expire, path, domain, security);
这是所有参数的细节
● name - 设置cookie的名称。
● value - 设置命名变量的值,并且是您实际要存储的内容。
● expire - 这指定自1970年1月1日格林尼治标准时间00:00:00以来的未来时间(以秒为单位)。在此之后,cookie将无法访问。如果未设置此参数,则在Web浏览器关闭时cookie将自动过期。
● path - 指定cookie有效的目录。单个正斜杠字符允许cookie对所有目录有效。
● domain - 这可用于在非常大的域中指定域名,并且必须至少包含两个有效期。所有cookie仅对创建它们的主机和域有效。
● security - 可以设置为1以指定cookie应仅通过使用HTTPS的安全传输发送,否则设置为0,这意味着cookie可以通过常规HTTP发送。
以下示例将创建两个cookie 名称和年龄,这些cookie将在一小时后过期。
<?php setcookie("name", "John Watkin", time()+3600, "/","", 0); setcookie("age", "36", time()+3600, "/", "", 0); ?> <html> <head> <title>用PHP设置Cookies</title> </head> <body> <?php echo "设置 Cookies"?> </body> </html>
提示:time()函数返回的是当前的时间戳,也就是1970年1月一日0点0分0秒到脚本执行的那一刻的秒数。
打开浏览器访问脚本,然后按F12打开开发者模式,选择Network(网络)选项卡,选择Headers,可以看到如下图所示:
使用PHP访问Cookie
PHP提供了许多访问cookie的方法。最简单的方法是使用$_COOKIE变量。以下示例将访问上面示例中设置的所有cookie。
<html> <head> <title>用PHP访问cookie</title> </head> <body> <?php echo $_COOKIE["name"]. "<br />"; echo $_COOKIE["age"] . "<br />"; ?> </body> </html>
您可以使用isset()函数来检查是否设置了cookie。如果设置了再进行输出。
<html> <head> <title>用PHP访问cookie</title> </head> <body> <?php if(isset($_COOKIE["name"])) echo $_COOKIE["name"]. "<br />"; if(isset($_COOKIE["age"])) echo $_COOKIE["age"] . "<br />"; ?> </body> </html>
用PHP删除Cookie
正式地说,要删除一个cookie,你应该只使用name参数调用setcookie()[也就是说想删除那个name,把他设置成空],但这并不总是有效,不应该依赖。最安全的做法是设置一个已经过期的日期
/ 设置过去时间为当前时间的之前的60秒 /
<?php /* 设置过去时间为当前时间的之前的60秒 */ setcookie( "name", "", time()- 60, "/","", 0); setcookie( "age", "", time()- 60, "/","", 0); ?> <html> <head> <title>用PHP删除cookie</title> </head> <body> <?php echo "删除cookie" ?> </body> </html>
推荐学习:PHP教程
Atas ialah kandungan terperinci PHP如何操作Cookie?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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.
