PHP Accueil
Chapitres :
PHP Chapitre 7 : Variables Superglobales
Nous allons maintenant donner quelques détails sur les variables superglobales dont nous vous avons présenté pour l'instant 3 échantillons :
– $_GET, qui contient les données issues d'un transit par URL.
– $_POST, qui contient les données issues d'un formulaire qui fera transiter par méthode « post ».
– $_FILES : qui contient des données relatives aux fichiers téléversés.
Il en existe d'autres, mais leur point commun est de systématiquement commencer par un « _ » et d'avoir une portée dans votre code sur la totalité de vos pages.
Voici d’autres variables superglobales utiles à connaitre :
– $_SERVER ['REMOTE_ADDR'] : renvoie l'adresse IP du client qui est en train de consulter votre page.
– $_ENV : contient des données relatives au serveur hébergeant notre site.
– $_SESSION : est créée dès l'accès d'un utilisateur sur votre site et détruite dès son départ. Plus de détails sur son utilisation plus loin.
– $_COOKIE : données qui seront envoyées sur l'ordinateur du visiteur.
7.1 Gestion des sessions
Lorsqu'un visiteur se connecte sur votre site, il peut être utile d'identifier sa connexion. Pour cela, PHP nous fournit un couple de fonctions qui permet de créer un numéro de session.
Ce numéro est appelé ID de session, est assez gros, se présente en hexadécimal. Une fois créé, il nous permet de gérer une variable superglobale $_SESSION dans laquelle on peut stocker ce que l'on veut le temps de vie de la session.
Deux fonctions PHP vont gérer cette variable superglobale :
– session_start() : Crée la session, qui durera quelle que soit la page de votre site que l'utilisateur parcourra, et ce jusqu'à ce que vous fassiez une déconnexion (session_destroy), par appui bouton ou par timeout.
La fonction session_start doit être appelée avant le<!doctype>
– session_destroy() : Supprime la session et la variable superglobale associée. Peut également se produire automatiquement par « timeout » au bout d'un certain temps d'inactivité.
Exemple :
<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
// Création de quelques variables de session
$_SESSION['prenom'] = 'Nicolas';
$_SESSION['nom'] = 'Geraudie';
$_SESSION['ID'] = 777;
?>
<!DOCTYPE html>
<html>
<head>
<title>Titre de ma page</title>
</head>
<body>
<p>
Salut <?php echo $_SESSION['prenom']; ?> !<br />
Tu es à l'accueil de mon site (index.php). Tu veux
aller sur une autre page ?
</p>
</body>
</html>
Les variables superglobales sont maintenant accessibles dans toutes les pages de mon site.
À tout moment, dans le site, on peut détruire la variable superglobale en faisant appel à la fonction session_destroy();
Exemple pour un bouton de déconnexion :
<html><body>
<form action="process.php" method="post">
<input type="submit" />
</form>
</body></html>
process.php:
<html><body>
<?php session_destroy(); ?>
</body></html>
7.2 Création et gestion de cookies
(En construction …)