« Programmation PHP/Sessions » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- *\|\s?leçon\s*=\s?\[\[([^\]]*)\]\] + | leçon = ../)
maintenance - wikification
Ligne 54 :
 
Pour cela, la fonction <code>session_name()</code> entre en scène.
 
{{Principe
| contenu =
<source lang="php">
<?php
Ligne 61 ⟶ 64 :
?>
</source>
}}
 
Ce code va donc charger une session avec l'identifiant provenant du cookie ou du paramètre GET portant le nom <code>nom_de_session</code>.
Ligne 72 ⟶ 76 :
Pour définir manuellement l'identifiant de session, la fonction <code>session_id()</code>. Elle prend un paramètre optionnel, qui est le nouvel identifiant de session. Dans tous les cas, la fonction retourne l'identifiant courant de la session.
 
{{Exemple
Un exemple:
| contenu =
<source lang="php">
<?php
Ligne 97 ⟶ 102 :
?>
</source>
}}
 
=== Lire et écrire des données dans la session ===
Ligne 114 ⟶ 120 :
Voici le code du formulaire en HTML, il va afficher une boîte de texte et un bouton "Connexion".
 
{{Principe
| contenu =
<source lang="html4strict">
<form action="verification.php" method="post">
Ligne 120 ⟶ 128 :
</form>
</source>
}}
 
===== La page de vérification =====
Ligne 126 ⟶ 135 :
 
Premièrement, nous devons initialiser la session. Nous laissons PHP choisir le nom.
{{Principe
| contenu =
<source lang="php">
<?php
session_start();
</source>
}}
 
L'appel à la fonction <code>session_start()</code> a fabriqué le tableau <code>$_SESSION</code>. Pour l'instant celui-ci est vide.
Ligne 135 ⟶ 147 :
Il faut maintenant vérifier que le mot de passe fourni est le bon. Nous créons ensuite une entrée dans le tableau de la session contenant <code>true</code> (vrai) si le code est le bon. Nous pouvons alors rediriger le navigateur de l'internaute ou afficher un message d'erreur.
 
{{Principe
| contenu =
<source lang="php">
$mdp = 'qwertz';
Ligne 147 ⟶ 161 :
?>
</source>
}}
 
Si vous ne comprenez pas la ligne <code>if($mdp == $_POST['mdp']) {</code>, vous devriez lire (ou relire) le chapitre sur les formulaires.
Ligne 152 ⟶ 167 :
Pour résumé, le code suivant suffit à l'identification du visiteur :
 
{{Principe
| contenu =
<source lang="php">
<?php
Ligne 167 ⟶ 184 :
?>
</source>
}}
 
===== La page d'administration =====
Ligne 174 ⟶ 192 :
Comme dans l'autre page, nous devons commencer par initier une session.
 
{{Principe
| contenu =
<source lang="php">
<?php
session_start();
</source>
}}
 
Nous avons alors accès au tableau $_SESSION.
Ligne 183 ⟶ 204 :
Si le visiteur a fourni le bon mot de passe, il existe un élément dans le tableau nommé 'admin' et valant <code>true</code>. Dans le cas contraire, cet élément n'existe pas. Il suffit donc de vérifier sa présence pour savoir si le visiteur est réellement l'administrateur du site. Pour cela, nous utilisons la fonction <code>isset()</code> qui vérifie si la variable (ou l'élément du tableau) existe.
 
{{Principe
| contenu =
<source lang="php">
<?php
Ligne 193 ⟶ 216 :
}
</source>
}}
 
La suite du script n'est plus le sujet de cet exercice, le but est en effet atteint. Vérifier l'identité du visiteur pour lui permettre d'accéder à un espace privé.