Les cookies sont souvent utilisés pour identifier les utilisateurs.
Les cookies sont souvent utilisés pour identifier les utilisateurs. Un cookie est un petit fichier qu'un serveur dépose sur l'ordinateur d'un utilisateur. Chaque fois que le même ordinateur demande une page via le navigateur, cet ordinateur enverra le cookie. Avec PHP, vous pouvez créer et récupérer des valeurs de cookies.
La fonction setcookie() est utilisée pour paramétrer les cookies.
Remarque : La fonction setcookie() doit être placée avant la balise <html>.
setcookie(nom, valeur, expiration, chemin, domaine) ;
Dans l'exemple suivant, nous allons créer un cookie nommé « user » et lui attribuer la valeur « codercto ». Nous précisons également que ce cookie expire au bout d'une heure :
<?phpsetcookie("user", "codercto", time()+3600);?><html>.....Remarque : Lors de l'envoi d'un cookie, la valeur du cookie est automatiquement codée en URL et automatiquement décodée lors de sa récupération. (Pour empêcher le codage d'URL, utilisez plutôt setrawcookie().)
Il existe une autre façon de définir le délai d'expiration des cookies. Cela peut être plus simple que d'utiliser les secondes.
<?php$expire=time()+60*60*24*30;setcookie("user", "codercto", $expire);?><html>.....Dans l'exemple ci-dessus, le délai d'expiration est fixé à un mois ( 60 secondes * 60 minutes * 24 heures * 30 jours ).
La variable $_COOKIE de PHP est utilisée pour récupérer la valeur du cookie.
Dans l'exemple suivant, nous récupérons la valeur du cookie nommé « utilisateur » et l'affichons sur la page :
<?php// Valeur du cookie de sortie echo $_COOKIE["user"];// Afficher tous les cookies print_r($_COOKIE);?>
Dans l'exemple suivant, nous utilisons la fonction isset() pour confirmer si le cookie a été défini :
<html><head><meta charset="utf-8"><title>Tutoriel du codeur (codercto.com)</title></head><body><?phpif (isset($_COOKIE["user" ] )) echo "Bienvenue" . $_COOKIE["user"] "!<br>";else echo "Visiteur normal !<br>";?></body></html>.
Lorsque vous supprimez un cookie, vous devez modifier la date d'expiration à une date antérieure.
Instance supprimée :
<?php//Définir le délai d'expiration du cookie sur la dernière heure setcookie("user", "", time()-3600);?>Si votre application doit gérer des navigateurs qui ne prennent pas en charge les cookies, vous devrez alors utiliser d'autres méthodes pour transmettre des informations entre les pages de votre application. Une solution consiste à transmettre des données via un formulaire (les formulaires et la saisie utilisateur sont traités dans les chapitres précédents de ce didacticiel).
Le formulaire suivant soumet les entrées de l'utilisateur à « welcome.php » lorsque l'utilisateur clique sur le bouton « Soumettre » :
<html><head><meta charset="utf-8"><title>Tutoriel Codeur (codercto.com)</title></head><body><form action="welcome.php" method=" post ">Nom : <input type="text" name="name">Âge : <input type="text" name="age"><input type="submit"></form></body>< / html>
Récupérez la valeur du fichier "welcome.php" comme suit :
<html><head><meta charset="utf-8"><title>Tutoriel Codeur (codercto.com)</title></head><body>Bienvenue<?php echo $_POST["name"] ; ?>.<br>Vous avez <?php echo $_POST["age"] ?> ans. </body></html>