
Les échanges de données entre le client et le serveur
Redirection
La fonction header() permet d’envoyer un en-tête HTTP, notamment une redirection avec Location suivi d’un chemin relatif, absolu ou de l’adresse d’un site web.
header('Location: ../Chemin/Relatif/unePage.php');
header('Location: /Chemin/Absolu/uneAutrePage.php');
header('Location: http://www.un-site-web-fictif.fr/');header("Refresh:0"); (ou bien on peut utiliser du JavaScript avec location.reload()).
Il est possible de rendre la redirection permanente avec l’envoi en amont d’un statut 308 :
header('Status: 308 Permanent Redirect', false, 308);
header('Location: ../Redirection/Permanente/uneNouvellePage.php');On peut faire une redirection permanente par exemple pendant qu’on bidouille sur la page d’accueil : on renvoie les utilisateurs ailleurs en attendant, puis on supprime la redirection.
Il est également possible de faire une redirection conditionnelle.
Cookies
Un cookie est un fichier (temporaire) côté client, sous la forme de clé/valeur.
Le serveur crée un cookie qu’il met chez le client, ainsi quand le client répond au navigateur alors il lui renvoie le cookie.
BP : On ne met jamais un mot de passe dans un cookie…
Créer un cookie : setcookie('nom', 'valeur')
- peut ajouter une durée de validité :
setcookie('nom', 'valeur', time() + 24*60*60)
(ici une journée écrite en nombre de secondes)
Supprimer un cookie : setcookie('nom')
Lire un cookie :
On utilise une variable superglobale $_COOKIE qui est un tableau associatif regroupant tous les cookies en clé/valeur.
if (isset($_COOKIE['nom'])) {
echo "Le cookie dont la clé est 'nom' a pour valeur ".$COOKIE['nom'];
} else {
echo "Il n'y a pas de cookie dont la clé est 'nom'.";
}
Session
Une session est un emplacement mémoire dans lequel il y a des informations, stockées côté serveur (au contraire des cookies stockées côté client). Ces informations ne sont donc pas accessibles par le client.
Créer une session : session_start();
- si la session existe, elle est alors récupérée
- un identifiant unique est généré automatiquement
Stocker des données pour la session :
On utilise une variable superglobale $_SESSION qui est un tableau associatif regroupant toutes les informations stockées en clé/valeur.