使用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教程有兴趣的朋友有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.
