Maison  >  Article  >  développement back-end  >  Explication détaillée et exemple de code d'utilisation des variables de session PHP

Explication détaillée et exemple de code d'utilisation des variables de session PHP

高洛峰
高洛峰original
2016-12-24 09:33:492117parcourir

Explication détaillée et exemple de code d'utilisation des variables de session PHP

Lorsque vous exécutez une application, vous l'ouvrez, apportez des modifications, puis la fermez. Cela ressemble beaucoup à une séance. L'ordinateur sait qui vous êtes. Il sait quand vous démarrez l'application et quand il la termine. Mais sur Internet, il y a un problème : le serveur ne sait pas qui vous êtes ni ce que vous faites, et c'est parce que les adresses HTTP ne conservent pas leur état.
La session PHP résout ce problème en stockant les informations utilisateur sur le serveur pour une utilisation ultérieure (telles que le nom d'utilisateur, les articles achetés, etc.). Cependant, les informations de session sont temporaires et seront supprimées une fois que l'utilisateur quittera le site. Si vous devez stocker des informations de manière permanente, vous pouvez stocker les données dans une base de données.

Sujets connexes recommandés : session php (y compris des images, des vidéos, des cas)

Copiez le manuel, puis essayez chacun et notez-le afin que vous puissiez le vérifier par vous-même. Qui nous a dit de simplement l'apprendre ? La session a environ 12 fonctions :

  • session_start : session initiale.

  • session_destroy : Fin de session.

  • session_unset : Libérer la mémoire de la session.

  • session_name : accédez au nom de la session en cours.

  • session_module_name : accédez au module de session en cours.

  • session_save_path : accédez au chemin de la session en cours.

  • session_id : accédez au code de la session en cours.

  • session_register : Enregistrez de nouvelles variables.

  • session_unregister : Supprimer les variables enregistrées.

  • session_is_registered : Vérifiez si la variable est enregistrée.

  • session_decode : décodage des données de session.

  • session_encode : Encodage des données de session.

Il existe également une variable globale : $_SESSION

Avant de stocker les informations utilisateur dans une session PHP, vous devez d'abord démarrer la session.
Remarque : session_start() La fonction doit être placée avant l'étiquette :

<?php session_start(); ?>

<html>
<body>

</body>
</html>

Variable de session de stockage

<?php
session_start();
// store session data
$_SESSION[&#39;views&#39;]=1;
?> 
<html>
<body>

<?php
//retrieve session data
echo "Pageviews=". $_SESSION[&#39;views&#39;];
?>

</body>
</html>
 [html]
终结 Session
unset() 函数用于释放指定的 session 变量:
[code]
<?php
unset($_SESSION[&#39;views&#39;]);
?>

Vous pouvez également terminer complètement la session via la session_destroy() function :

<?php
session_destroy();
?>

Exemple :

<?php 
session_start(); 
switch ( $_GET[&#39;action&#39;] ){ 
case "loginif"; 
//登陆验证,假定session储存的秘密应该等于123才为正确 
if ($_SESSION[&#39;pass&#39;]=="123"){echo "密码正确 您可以执行注销";}else{echo "密码错误,您可以重新登陆";} 
break; 
case "logout"; 
//注销登陆 
session_unset(); 
session_destroy(); 
echo "注销成功!可以判断一下密码是否正确来看看是不是成功注销"; 
break; 
case "login"; 
//写入session以供验证, 
$pass="123";//密码 
$_SESSION[&#39;pass&#39;]=$pass; 
echo "写入登陆密码了 去判断密码成功与否吧。"; 
break; 
} 
?> 
<p>假定本页名为temp.php </p> 
<p><a href="temp.php?action=login">用户进行登陆post,程序处理写入session</a></p> 
<p><a href="temp.php?action=loginif">判断用户密码是否正确</a></p> 
<p><a href="temp.php?action=logout">登陆成功的用户注销登陆</a></p>

J'ai résumé l'utilisation de session en php.

(1) Démarrer la session
Avant chaque utilisation de session, ajoutez cette phrase : "session_start();". Comme son nom l'indique, la fonction de cette fonction est de commencer à utiliser la session.
(2) Enregistrez la session
Tout d'abord, créez un tableau global (notez qu'il doit être défini comme global, sinon il ne peut pas être utilisé sur d'autres pages), tel que $login, où $login['name'] ="Victor" , $login['pwd']="111111", puis appelez la fonction "session_register(login);", la session est enregistrée avec succès.
(3) Utiliser des variables dans la session
Semblable à l'enregistrement d'une session, vous devez d'abord créer un tableau global, puis c'est la même chose que d'utiliser un tableau normal.
(4) Déterminez si la session est enregistrée
C'est très simple, il suffit d'utiliser "if (session_is_registered(login))" pour juger.
(5) Désinstallation de la session
C'est aussi très simple, il suffit de "session_unregister(login);".
Remarque : assurez-vous de faire (1) avant de faire (2) (3) (4) (5).

Un exemple est donné ci-dessous :

index.htm

<html> 
<head> 
<title>测试</title> 
</head> 
<body> 
<FORM METHOD=POST ACTION="login.php"> 
用户名:<INPUT TYPE="text" NAME="name"><br/> 
密码:<INPUT TYPE="password" name="pwd"><br/> 
<INPUT TYPE="submit" value="提交"> 
</FORM> 
</body> 
</html>

login.php

<?php 
global $login; 
if ($_POST[&#39;name&#39;]!="Victor" || $_POST[&#39;pwd&#39;]!="111111") 
{ 
        echo "登陆失败"; 
        echo "请<a href=index.htm>返回</a>"; 
        exit; 
} 
$login = array(&#39;name&#39;=>$_POST[&#39;name&#39;], 
                           &#39;pwd&#39;=>$_POST[&#39;pwd&#39;]); 
session_start(); 
session_register(login); 
echo "<a href=info.php>查看信息</a><br/>"; 
echo "<a href=logout.php>退出登陆</a><br/>"; 
?>

info.php

<?php 
session_start(); 
if (session_is_registered(login)) 
{ 
        global $login; 
        echo "hello,".$login[&#39;name&#39;]."<br/>"; 
        echo "<a href=logout.php>退出登陆</a><br/>"; 
} 
else 
{ 
        echo "非法操作<br/>"; 
        exit; 
} 
?>

logout.php

<?php 
session_start(); 
session_unregister(login); 
header("location:index.htm"); 
?>

Pour des explications plus détaillées sur la façon d'utiliser les variables de session PHP et des exemples d'articles liés au code, veuillez prêter attention au site Web PHP 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