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

高洛峰
Libérer: 2023-03-06 20:30:02
original
1706 Les gens l'ont consulté

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 "<script> location.href='login.php'</script>";//É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'"; //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 !
Nom d'utilisateur : ".$_COOKIE['id']."
Mot de passe : ".$_COOKIE['pass'];
echo "
";
echo "Déconnexion des cookies "; //Dans les guillemets doubles, s'il y a plus de guillemets, des guillemets simples sont requis.
}

?>


ID utilisateur :


Mot de passe :




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>";
}

?>
Copier après la connexion


ID utilisateur :


Mot de passe :





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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!