Maison >développement back-end >tutoriel php >Introduction détaillée à l'utilisation des cookies et des sessions en PHP

Introduction détaillée à l'utilisation des cookies et des sessions en PHP

高洛峰
高洛峰original
2017-03-22 17:23:021737parcourir

Très souvent, nous devons suivre les activités des visiteurs sur tout le site Web et identifier automatiquement ou semi-automatiquement leur identité (c'est-à-dire des fonctions telles que la connexion au site Web qui sont souvent mentionnées à l'heure actuelle, nous utilisons souvent des cookies et des sessions). suivre et juger

1. Introduction et différence entre Cookie et Session

Dans de nombreux cas, nous devons suivre les activités des visiteurs sur l'ensemble du site Web et identifier automatiquement ou semi-automatiquement leur identité. (C'est-à-dire des fonctions telles que la connexion à un site Web dont nous parlons habituellement). À l'heure actuelle, nous utilisons souvent les cookies et les sessions pour suivre et juger.

Différence

Les informations de session sont stockées côté serveur, mais l'identifiant de session est stocké dans le cookie client. Bien sûr, les méthodes de stockage de session PHP sont diverses, donc même si les cookies sont désactivés, il peut toujours être suivi

Les cookies sont entièrement conservés sur le client, tels que : IE Firefox Lorsque le client désactive les cookies, ils ne peuvent plus être utilisés

2.

Setcookie(string name, string value, int expire, stringpath, string domain, int secure);
où name est l'identifiant du nom de la variable cookie Vous pouvez l'utiliser pour référencer les variables de cookie en PHP, tout comme. en utilisant des noms de variables ordinaires. value est la valeur initiale de la variable de cookie, expire représente la durée de validité de la variable de cookie ; path représente le chemin pertinent de la variable de cookie ; secure est valide uniquement lorsque https est transmis de manière sécurisée.

SetCookie("Cookie","cookievalue",time()+3600, "/forum",".php100.com", 1);
Recevoir et traiter le cookie
PHP pour Cookie La prise en charge de la réception et du traitement est très bonne et entièrement automatique. C'est le même principe que les variables FORM et c'est très simple.
Par exemple, si vous définissez un cookie nommé MyCookier, PHP l'analysera automatiquement à partir de l'en-tête HTTP reçu par le serveur WEB et formera une variable comme une variable ordinaire nommée $myCookie. La valeur de cette variable est la valeur du cookie. . La même chose s'applique aux tableaux. Une autre façon consiste à référencer le tableau $HTTP_COOKIE_VARS de la variable globale PHP.
Les exemples sont les suivants : (en supposant qu'ils ont été définis dans les pages précédentes et sont toujours valides)

echo $MyCookie;
echo $CookieArray[0];
echo $_COOKIE [" MyCookie"];
echo $HTTP_COOKIE_VARS["MyCookie"];
Supprimer le cookie

Pour supprimer un Cookie existant, il existe deux méthodes :

1. SetCookie("Cookie ","");
2. SetCookie("Cookie", "value" ,time()-1 / time() );

Restrictions d'utilisation des cookies

1. Il doit être défini avant que le contenu du fichier HTML ne soit affiché ;
2. Différents navigateurs gèrent les cookies de manière incohérente, et des résultats incorrects se produiront parfois.
3. La restriction est du côté client. Le nombre maximum de cookies pouvant être créés par un navigateur est de 30, et chaque cookie ne peut excéder 4 Ko. Le nombre total de cookies pouvant être paramétrés par chaque site WEB ne peut excéder 20.

3. Configuration et application de la session

Copier le code Le code est le suivant :


session_start(); $_SESSION[name]=value; Seeeion
echo $_SESSION[name]; //Utiliser la session
isset($_SESSION[name]); // Juger
unset($_SESSION[name] ]); (); //Consommer toutes les sessions

Remarque : session_register(), session_unregister, session_is_registered ne sont plus utilisés sous php5

Exemples d'utilisation des cookies

if($_GET[' out'])

{ //Utilisé pour déconnecter les cookies

setcookie('id',"");
setcookie('pass',"");
echo "3f1c4e4b6b16bbbd69b2ee476dc4f83a location.href='login.php'2cacc6d41bbb37262a98f745aa00fbf0";//Étant donné que les cookies ne prennent pas effet à temps et ne prendront effet que lorsque vous actualiserez à nouveau, laissez donc la page s'actualiser automatiquement après vous être déconnecté.
}

if($_POST['name']&&$_POST['password']) //Si les variables nom d'utilisateur et mot de passe existent, définissez les cookies ci-dessous
{ //Utilisé pour définir les cookies
setcookie( ' id',$_POST['name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"< script> ;location.href='login.php'2cacc6d41bbb37262a98f745aa00fbf0"; //Laisser les cookies prendre effet à temps
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //Une fois les cookies définis avec succès, utilisé pour afficher les cookies
echo "Connexion réussie !df250b2156c434f3390392d09b1c9563Nom d'utilisateur : ".$_COOKIE['id']."076402276aae5dbec7f672f8f4e5cc81 Mot de passe : ".$_COOKIE['pass'];
echo "df250b2156c434f3390392d09b1c9563";
echo "288f918ddb251194273bb2bb7ced2db5Déconnexion des cookies4a11e5928b3688cf38c9163b657eb5ac "; //Dans les guillemets doubles, s'il y a plus de guillemets, des guillemets simples sont requis.
}

?>
157bbac558a7833eedb56b4dcc52ac44
ID utilisateur :
Mot de passe :
dce4f21152ff3b75307414d1d6566021076402276aae5dbec7f672f8f4e5cc81df250b2156c434f3390392d09b1c9563
7c53702a2bf0be1eaf670e884b3f62e5
f5a47148e367a6035fd7a2faa965022e

exemple d'utilisation de session

<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[&#39;out&#39;])
{
     
    unset($_SESSION[&#39;id&#39;]);
    unset($_SESSION[&#39;pass&#39;]);
}
if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;])
{   
   //用于设置session
    $_SESSION[&#39;id&#39;]=$_POST[&#39;name&#39;];
    $_SESSION[&#39;pass&#39;]=$_POST[&#39;password&#39;];
}
if($_SESSION[&#39;id&#39;]&&$_SESSION[&#39;pass&#39;])
{
    echo "登录成功!<br/>用户ID:".$_SESSION[&#39;id&#39;]."<br />用户密码:".$_SESSION[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销session</a>";
}

?>

b29a1f442b187a32a8f43cd96586d030
ID utilisateur :
548052c193c31614ea2afa3f78d6e281076402276aae5dbec7f672f8f4e5cc81e1e0968962cea22b59f19c9ee6a4ca5c076402276aae5dbec7f672f8f4e5cc81df250b2156c434f3390392d09b1c9563
9dae8bb0debb10ff4216b0c3a60a61ad
f5a47148e367a6035fd7a2faa965022e

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn