Index: phpdoc/fr/functions/session.xml diff -u phpdoc/fr/functions/session.xml:1.1 phpdoc/fr/functions/session.xml:1.2 --- phpdoc/fr/functions/session.xml:1.1 Fri Jul 21 03:27:50 2000 +++ phpdoc/fr/functions/session.xml Tue Nov 14 01:46:44 2000 @@ -1,604 +1,942 @@ - - Gestiond des sessions - Sessions - - - - La gestion des sessions avec PHP est un moyen de sauver des informations entre - deux accès. Cela permet notamment de construire des applications personnalisées, - et d'accroître l'attrait de votre site. - - - Si vous connaissez déjà la gestion des sessions avec phplib, vous remarquerez - que certains concepts sont similaires. - - - Chaque visiteur qui accède à votre site se voit assigner un numéro d'identifiant, - appelé plus loin "identifiant de session". Celui ci est enregistré soit dans un - cookie, chez le client, soit dans l'URL. - - - Les sessions vous permettront d'enregistrer des variables, pour les préserver et - les réutiliser tout au long des requêtes. Lorsqu'un visiteur accède à votre site, - PHP vérifiera automatiquement (si session.auto_start est à 1) ou manuellement - (explicitement avec session_start ou implicitement avec - session_register) si une session a déjà été ouverte. Si - une telle session existe déjà, l'environnement précédent sera recréé. - - - Toutes les variables à enregistrer seront enregistrées sur le disque à la fin de - chaque requête. Les variables enregistrées mais non définies seront marquées - comme tel. Lors des accès ultérieurs, elles ne seront définies que si - l'utilisateur le fait. - - - Les options track_vars et gpc_globals - modifient la façon avec laquelle les variables sont rechargéees. - Si track_vars est activée, alors les variables de session seront - accessibles dans le tableau associatif global $HTTP_STATE_VARS. Si - gpc_globals est activé, alors les variables de session - seront placés dans les variables globales associées. Si les deux options sont - activées, alors les variables globales et $HTTP_STATE_VARS contiendront les - valeurs de session. - - - Il y a deux modes de propagation de l'identifiant de session : - - - - Cookies - - - - - Paramètre URL - - - - - - Le module de session supporte les deux techniques. La méthode par cookies est - optimale, mais étant donné le peu de fiabilité (les clients peuvent les refuser, - ou les effacer), on ne peut pas se contenter de cette technique. La deuxième - méthode place l'identifiant de session directement dans l'URL. - - - PHP est capable de gérer ceci de manière transparente, lorsque vous le compilez - avec l'option --enable-trans-sid. Dans ce cas, les URL relatives - seront modifiées pour contenir l'identifiant de session automatiquement. Sinon, - vous pouvez toujours utiliser la constante SID, qui sera définie - si le client n'envoie pas le cookie approprié. SID prend la - forme de session_name=session_id, ou bien, c'est une chaîne vide. - - - L'exemple suivant montre comment enregistrer une variable, et comment relier - correctement des pages avec SID. - - Compter le nombre de hit d'un utilisateur. - -<?php -session_register("compteur"); -$count++; -?> - -Salut visiteur, vous avez vu cette page <? echo $compteur; ?> times.<p> - -<php? -# le <?=SID?> est nécessaire pour transmettre l'identifiant de session -# au cas oú les utilisateurs auraient inactivé les cookies -?> - -Pour continuer, <A HREF="nextpage.php?<?=SID?>">clique ici</A> - - - - - Pour enregistrer ces informations dans une base de données, il vous faut utiliser - la fonction session_set_save_handler (NDtraducteur : cette fonction semble avoir disparue). - Il faudra alors implémenter la fonction suivante pour l'adapter à MySQL ou toute - autre base de données : - - - - - Utilisation de <function>session_set_save_handler</function> - - -<?php - -function open ($save_path, $session_name) { - echo "ouvre ($save_path, $session_name)\n"; - return true; -} - -function close() { - echo "ferme\n"; - return true; -} - -function read ($key) { - echo "écriture ($key, $val)\n"; - return "foo|i:1;"; -} - -function write ($key, $val) { - echo "écriture ($key, $val)\n"; - return true; -} - -function destroy ($key) { - return true; -} - -function gc ($maxlifetime) { - return true; -} - -session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); - -session_start(); - -$foo++; - -?> - - - - - Cela va produire le résultat suivant : - - - -$ ./php save_handler.php -Content-Type: text/html -Set-cookie: PHPSESSID=f08b925af0ecb52bdd2de97d95cdbe6b - -open (/tmp, PHPSESSID) -read (f08b925af0ecb52bdd2de97d95cdbe6b) -write (f08b925af0ecb52bdd2de97d95cdbe6b, foo|i:2;) -close - - - - Le <?=SID?> n'est pas nécessaire, si l'option - --enable-trans-sid a été utilisé pour compiler PHP. - - - Le système de gestion des sessions dispose d'un grand nombre d'options, qui sont - placées dans le fichier php.ini file. En voici un survol rapide : - - - - session.save_handler - session.save_handler défini les noms des fonctions qui seront utilisées pour - enregistrer et retrouver les données associées à une sessions. Par défaut, - les sessions sont enregistrées dans des fichiers. - - - - - session.save_path défini l'argument qui est passé à la fonction - de sauvegarde. Si vous utilisez la sauvegarde par fichier, cet argument est - le chemin jusqu'au dossier oú les fichiers sont créés. Par défaut, le dossier est - /tmp. - - - - - session.name spécifie le nom de la session, qui sera utilisé - comme nom de cookie. Par défaut : PHPSESSID. - - - - - session.auto_start indique qu'une session doit commencer - automatiquement lors de la premier requête. Par défaut à 0 - (inactivé). - - - - - session.lifetime fixe la durée de vie, en secondes, du cookie - envoyé au client. La valeur 0 signifie "jusqu'à ce que le client soit fermé". - Par défaut à 0 (inactivé). - - - - - session.serialize_handler défini le nom de la fonction qui - sera utilisée pour enregistrer et relire les donnés. Actuellement, c'est un - format interne de PHP (nom : php) et WDDX (nom : - wddx). WDDX n'est utilisable que si PHP a été compilé avec - le support WDDX. Par défaut, - c'est le mode php qui est selectionné. - - - - - session.gc_probability précise la probabilité que la routine - gc (garbage collection) soit lancée, en pourcentage. Par défaut, - 1. - - - - - session.gc_maxlifetime fixe la durée, en secondes, au-dela de - laquelle les données considérées comme inutiles seront supprimées. - - - - - session.referer_check détermine si l'identifiant de session ids utilisé par des sites externe seront éliminé. Si les identifiants de sessions sont propagés avec la méthode des URL, des utilisateurs qui n'en connaîtrait pas l'utilité risque de divulguer ces valeurs, et cela ménera à des problèmes de sécurité. Cette option y remédie. Par défaut : 0. - - - - - session.entropy_file est le chemin jusqu'à une source externe - (fichier) d'entropie, qui sera utilisée lors de la création de l'identifiant de - session. Par exemple, /dev/random ou - /dev/urandom qui sont disponibles sur de nombreux systèmes - UNIX. - - - - - session.entropy_length précise le nombre d'octets qui seront - lus dans le fichier ci-dessus. Par défaut, 0 (inactivé). - - - - - session.use_cookies cookies indique si le module doit - utiliser des cookies pour enregistrer l'identifiant de session chez le client. - Par défaut, 1 (activé). - - - - - - La gestion des sessions a été ajoutée dans PHP 4.0. - - - - - - - - session_start - Initialise les données de session - - - Description - - bool session_start - - - - session_start crée une session (ou continue la session - courante, en fonction de l'identifiant de session passé par une variable GET - ou par un cookie) - - - Cette fonction retourne toujours true. - - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - session_destroy - Détruit toutes les données enregistrées d'une session - - - Description - - bool session_destroy - - - - session_destroy détruit toutes les données associées - à la session courante. - - - Cette fonction retourne toujours true. - - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - session_name - Affecte et/ou retourne le nom de la session courante - - - Description - - string session_name - string - name - - - - session_nameretourne le nom de la session courante. - Si name est fourni, le nom de la session changera, et - prendra la valeur fournie. - - - Le nom de session fait référence à l'identifiant de session dans les cookies. - Il ne doit contenir que des caractères alphanumériques; il doit être court et - descriptif. (i.e. surtout pour les utilisateurs d'alertes de cookie). Le nom - de session est remis à une valeur par défaut, enregistrées dans - session.name au moment du démarrage. - Ainsi, vous devez appeler session_name à chaque requête - (et avant session_start ou - session_register). - - - Exemple avec <function>session_name</function> - -<?php - -# Change le nom de la session à WebsiteID - -$previous_name = session_name ("WebsiteID"); - -echo "L'ancien nom de la session était $previous_name<p>"; -?> - - - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - session_module_name - Affecte et/ou retourne le module courant de session courante - - - Description - - string session_module_name - string - module - - - - session_module_name affecte et/ou retourne le module courant - de session courante. Si module est fourni, ce module sera - utilisé à la place du courant. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_save_path - Affecte et/ou retourne le chemin de sauvegarde de la session courante - - - Description - - string session_save_path - string - path - - - - session_save_path retourne le chemin du dossier utilisé pour - enregistrer les données de sessions. Si path est fourni, - le chemin prendra alors la valeur fournie. - - - Sur certains systèmes d'exploitation, il vous faudra peut être fournir un chemin - vers un système de sauvegarde qui peut gérer de grandes quantités de petits - fichiers efficacement : par exemple, sous Linux, reiserfs peut être plus efficace - que ext2fs. - - - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_id - Affecte et/ou retourne l'identifiant de session courante - - - Description - - string session_id - string id - - - session_id retourne l'identifiant de session courante. Si - id est fourni, il remplacera l'identifiant courant de la - session. - - - La constante SID peut aussi être utilisée pour - retrouver le nom de la session courante et son identifiant, comme chaîne à ajouter - dans les URL. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_register - - Enregistre une variable dans la session courante - - - - Description - - bool session_register - mixed name - mixed - ... - - - session_register enregistre une variable avec le nom name dans la session courante. - - - Cette fonction retourne true lorsque la variable est correctement enregistrée. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_unregister - - Supprime une variable dans la session courante - - - - Description - - bool session_unregister - string name - - - session_unregister supprime la variable nommée name dans la session courante . - - - Cette fonction retourne true (vrai) lorsque la variable a été correctement supprimée - de la session. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_is_registered - - Indique si une variable a été enregistrée dans la session ou pas - - - - Description - - bool session_is_registered - string name - - - session_is_registered retourne true si il y a une variable - du nom de name enregistrée dans la session courante. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_decode - Décode les données de session à partir d'une chaîne - - - Description - - bool session_decode - string data - - - session_decode décode les données de session à partir de la - chaîne data, et affecte les valeurs des variables de - session. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - session_encode - - Encode les données de session dans une chaîne - - - - Description - - bool session_encode - - - - session_encode retourne les données de session dans une - chaîne. - - - Cette fonction a été ajoutée dans PHP 4.0. - - - - - - - - - + + Gestiond des sessions + Sessions + + + + La gestion des sessions avec PHP est un moyen de sauver des informations + entre deux accès. Cela permet notamment de construire des + applications personnalisées, et d'accroître l'attrait de votre site. + + + Si vous connaissez déjà la gestion des sessions avec + phplib, vous remarquerez que certains concepts sont similaires. + + + Chaque visiteur qui accède à votre site se voit assigner + un numéro d'identifiant, appelé plus loin "identifiant de + session". Celui ci est enregistré soit dans un cookie, chez + le client, soit dans l'URL. + + + Les sessions vous permettront d'enregistrer des variables, pour + les préserver et les réutiliser tout au long des + requêtes. Lorsqu'un visiteur accède à votre site, + PHP vérifiera automatiquement (si session.auto_start est à + 1) ou manuellement (explicitement avec session_start + ou implicitement avec session_register) si une + session a déjà été ouverte. Si + une telle session existe déjà, l'environnement + précédent sera recréé. + + + Toutes les variables à enregistrer seront enregistrées + sur le disque à la fin de chaque requête. Les variables + enregistrées mais non définies seront marquées + comme tel. Lors des accès ultérieurs, elles ne seront + définies que si l'utilisateur le fait. + + + Les options track_vars et gpc_globals + modifient la façon avec laquelle les variables sont rechargéees. + + + + + Depuis PHP 4.0.3, track_vars est toujours + activée. + + + + + Si track_vars est activée, et register_globals + est désactivée, alors les variables de session seront accessibles + uniquement dans le tableau associatif global $HTTP_STATE_VARS. + Les variables de sessions lues seront disponibles dans + $HTTP_STATE_VARS. + + + Enregistrer une variable lorsque l'option <link + linkend="ini.track-vars"><literal>track_vars</literal></link> + est activée + + +<?php +session_register("compte"); +$HTTP_SESSION_VARS["compte"]++; +?> + + + + + Si register_globals + est activé, alors les variables de session seront placés + dans les variables globales associées. + + + Enregistrer une variable lorsque <link + linkend="ini.register-globals"><literal>register_globals</literal></link> + est activée + + +<?php +session_register("compte"); +$compte++; +?> + + + + + Si les deux options + track_vars et + register_globals + sont activées, alors les variables globales et + $HTTP_STATE_VARS contiendront les valeurs de session. + + + Il y a deux modes de propagation de l'identifiant de session : + + + + Cookies + + + + + Paramètre URL + + + + + + Le module de session supporte les deux techniques. La + méthode par cookies est optimale, mais étant + donné le peu de fiabilité (les clients peuvent les refuser, + ou les effacer), on ne peut pas se contenter de cette technique. + La deuxième méthode place l'identifiant de session + directement dans l'URL. + + + PHP est capable de gérer ceci de manière transparente, + lorsque vous le compilez avec l'option --enable-trans-sid. + Dans ce cas, les URL relatives seront modifiées pour + contenir l'identifiant de session automatiquement. Sinon, + vous pouvez toujours utiliser la constante SID, + qui sera définie si le client n'envoie pas le cookie + approprié. SID prend la forme de + session_name=session_id, ou bien, c'est + une chaîne vide. + + + L'exemple suivant montre comment enregistrer une variable, et comment relier + correctement des pages avec SID. + + Compter le nombre de hit d'un utilisateur. + +<?php +session_register("compteur"); +$compteur++; +?> + +Salut visiteur, vous avez vu cette page <? echo $compteur; ?> times.<p> + +<php? +# le <?=SID?> est nécessaire pour transmettre l'identifiant de session +# au cas oú les utilisateurs auraient inactivé les cookies +?> + +Pour continuer, <A HREF="nextpage.php?<?=SID?>">clique ici</A> + + + + + Le <?=SID?> n'est pas nécessaire, si l'option + --enable-trans-sid a été utilisé pour compiler PHP. + + + Pour enregistrer ces informations dans une base de données, + il vous faut utiliser la fonction session_set_save_handler. + Il faudra alors implémenter la fonction suivante pour + l'adapter à MySQL ou toute autre base de données : + + + Le système de gestion des sessions dispose d'un grand nombre d'options, + qui sont placées dans le fichier php.ini file. En voici un survol rapide : + + + + session.save_handler défini les noms + des fonctions qui seront utilisées pour enregistrer et + retrouver les données associées à une session. + Par défaut, les sessions sont enregistrées dans des + fichiers. + + + + + session.save_path défini l'argument qui + est passé à la fonction de sauvegarde. Si vous utilisez + la sauvegarde par fichier, cet argument est le chemin jusqu'au dossier + oú les fichiers sont créés. Par défaut, le + dossier est /tmp. + + + + + session.name spécifie le nom de la session, + qui sera utilisé comme nom de cookie. Par défaut : + PHPSESSID. + + + + + session.auto_start indique qu'une session doit + commencer automatiquement lors de la premier requête. Par + défaut à 0 (inactivé). + + + + + session.lifetime fixe la durée de vie, + en secondes, du cookie envoyé au client. La valeur 0 signifie + "jusqu'à ce que le client soit fermé". Par défaut + à 0 (inactivé). + + + + + session.serialize_handler défini le + nom de la fonction qui sera utilisée pour enregistrer et + relire les donnés. Actuellement, c'est un format interne + de PHP (nom : php) et WDDX (nom : + wddx). WDDX n'est utilisable que si + PHP a été compilé avec le + support WDDX. Par défaut, + c'est le mode php qui est selectionné. + + + + + session.gc_probability précise la + probabilité que la routine gc (garbage collection) soit + lancée, en pourcentage. Par défaut, 1. + + + + + session.gc_maxlifetime fixe la durée, + en secondes, au-dela de laquelle les données + considérées comme inutiles seront supprimées. + + + + + session.referer_check détermine si + l'identifiant de session ids utilisé par des sites externe + seront éliminé. Si les identifiants de sessions sont + propagés avec la méthode des URL, des utilisateurs qui + n'en connaîtrait pas l'utilité risque de divulguer ces + valeurs, et cela ménera à des problèmes de + sécurité. Cette option y remédie. Par + défaut : 0. + + + + + session.entropy_file est le chemin jusqu'à + une source externe (fichier) d'entropie, qui sera utilisée + lors de la création de l'identifiant de session. Par exemple, + /dev/random ou /dev/urandom qui + sont disponibles sur de nombreux systèmes UNIX. + + + + + session.entropy_length précise le + nombre d'octets qui seront lus dans le fichier ci-dessus. + Par défaut, 0 (inactivé). + + + + + session.use_cookies cookies indique si le module doit + utiliser des cookies pour enregistrer l'identifiant de session chez le client. + Par défaut, 1 (activé). + + + + + session.cookie_path spécifie le chemin à + utiliser avec session_cookie. Par défaut, /. + + + + + session.cookie_domain spécifie le + domaine à utiliser avec session_cookie. Par défaut, rien du tout. + + + + + session.cache_limiter spécifie le controle du + cache, à utiliser avec les pages de sessions (nocache/private/public). + Par défaut, nocache. + + + + + session.cache_expire spécifie la durée de vie + des pages de sessions cachées, en minutes, mais sans que cela + n'ait d'efft sur le limiteur "nocache". Par défaut, 180. + + + + + + La gestion des sessions a été ajoutée dans PHP 4.0. + + + + + + + + session_start + Initialise les données de session + + + Description + + + bool session_start + + + + + session_start crée une session (ou + continue la session courante, en fonction de l'identifiant de + session passé par une variable GET ou par un cookie) + + + Cette fonction retourne toujours TRUE. + + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + session_destroy + + Détruit toutes les données enregistrées d'une session + + + + Description + + + bool session_destroy + + + + + session_destroy détruit toutes les + données associées à la session courante. + + + Cette fonction retourne TRUE en cas de succès, et FALSE sinon. + + + + + + + session_name + Affecte et/ou retourne le nom de la session courante + + + Description + + string session_name + string + name + + + + session_nameretourne le nom de la session courante. + Si name est fourni, le nom de la session changera, + et prendra la valeur fournie. + + + Le nom de session fait référence à l'identifiant + de session dans les cookies. Il ne doit contenir que des + caractères alphanumériques; il doit être court et + descriptif. (i.e. surtout pour les utilisateurs d'alertes de cookie). + Le nom de session est remis à une valeur par défaut, + enregistrées dans session.name au moment + du démarrage. Ainsi, vous devez appeler + session_name à chaque requête + (et avant session_start ou + session_register). + + + Exemple avec <function>session_name</function> + +<?php + +# Change le nom de la session à WebsiteID + +$previous_name = session_name ("WebsiteID"); + +echo "L'ancien nom de la session était $previous_name<p>"; +?> + + + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + session_module_name + Affecte et/ou retourne le module courant de session courante + + + Description + + + string session_module_name + string + module + + + + + session_module_name affecte et/ou retourne + le module courant de session courante. Si module + est fourni, ce module sera utilisé à la place du courant. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_save_path + Affecte et/ou retourne le chemin de sauvegarde de la session courante + + + Description + + + string session_save_path + string + path + + + + + session_save_path retourne le chemin du + dossier utilisé pour enregistrer les données de + sessions. Si path est fourni, le chemin + prendra alors la valeur fournie. + + + Sur certains systèmes d'exploitation, il vous faudra peut + être fournir un chemin vers un système de sauvegarde + qui peut gérer de grandes quantités de petits + fichiers efficacement : par exemple, sous Linux, reiserfs peut + être plus efficace que ext2fs. + + + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_id + Affecte et/ou retourne l'identifiant de session courante + + + Description + + + string session_id + string id + + + + session_id retourne l'identifiant de session courante. + Si id est fourni, il remplacera l'identifiant + courant de la session. + + + La constante SID peut aussi être + utilisée pour retrouver le nom de la session courante et + son identifiant, comme chaîne à ajouter dans les URL. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_register + + Enregistre une variable dans la session courante + + + + Description + + + bool session_register + mixed name + mixed + ... + + + + session_register enregistre une variable avec + le nom name dans la session courante. session_register + accepte un nombre d'arguments variable, qui peuvent être des chaînes + représentant le nom de la variable, ou bien un tableau, représentant + des chaînes ou d'autre tableau (récursif). + + + Cette fonction retourne TRUE lorsque la variable est correctement + enregistrée. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_unregister + + Supprime une variable dans la session courante + + + + Description + + + bool session_unregister + string name + + + + session_unregister supprime la variable + nommée name dans la session courante. + + + session_unregister retourne TRUE (vrai) + lorsque la variable a été correctement supprimée + de la session. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_unset + + Détruit toutes les variables de session + + + + Description + + + void session_unset + + + + + session_unset détruit toutes les variables de + session couramment enregistrées. + + + + + + + session_is_registered + + Indique si une variable a été enregistrée dans la session ou pas + + + + Description + + + bool session_is_registered + string name + + + + session_is_registered retourne TRUE si il y + a une variable du nom de name + enregistrée dans la session courante. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_get_cookie_params + + Lit les paramètres du cookie de session + + + + Description + + + + array session_get_cookie_params + + + + + + session_get_cookie_params retourne un + tableau avec les paramètres du cookie de la session courante. + Le tableau contient les éléments suivants : + + + + "lifetime" - La durée de vie du cookie. + + + + + "path" - Le chemin de stockage du cookie. + + + + + "domain" - Le domaine du cookie. + + + + + + + + + + session_set_cookie_params + + Modifie les paramètres du cookie de session + + + + Description + + + void session_set_cookie_params + + int lifetime + + + string path + + + string domain + + + + + session_set_cookie_params modifie les + paramètres du cookie de session, tel qu'ils ont été définis dans + le fichier php.ini. L'effet de cette + fonction ne dure que le temps du script. + + + + + + + session_decode + + Décode les données de session à partir d'une chaîne + + + + Description + + + bool session_decode + string data + + + + session_decode décode les données + de session à partir de la chaîne data, + et affecte les valeurs des variables de session. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_encode + + Encode les données de session dans une chaîne + + + + Description + + bool session_encode + + + + session_encode retourne les données de + session dans une chaîne. + + + Cette fonction a été ajoutée dans PHP 4.0. + + + + + + + + + session_set_save_handler + + Définit les fonctions utilisateurs de stockage des sessions + + + + Description + + + void + session_set_save_handler + + string + openstring + closestring + readstring + writestring + destroystring + gc + + + + session_set_save_handler définit les + fonctions utilisateurs de stockage et chargement des sessions. + Cela est particulièrement pratique pour spécifier une autre + méthode de stockage que celle fournie en standard avec PHP. + Notamment, il est possible de stocker les sessions dans une + base de données. + + + + Vous devez donner à l'option de configuration + session.save_handler la valeur de + user dans votre fichier php.ini file pour que + session_set_save_handler soint effective. + + + + L'exemple suivant fournit un exemple de stockage de session + dans un fichier, similaire aux fonctions standard de PHP. Cet + exemple peut être facilement étendu pour utiliser un + stockage en base de données, en utilisant votre base préférée. + + + + + Exemple avec <function>session_set_save_handler</function> + + +<?php + +function open ($save_path, $session_name) { + global $sess_save_path, $sess_session_name; + + $sess_save_path = $save_path; + $sess_session_name = $session_name; + return(true); +} + +function close() { + return(true); +} + +function read ($id) { + global $sess_save_path, $sess_session_name; + + $sess_file = "$sess_save_path/sess_$id"; + if ($fp =  <email protected>($sess_file, "r")) { + $sess_data = fread($fp, filesize($sess_file)); + return($sess_data); + } else { + return(""); + } + +} + +function write ($id, $sess_data) { + global $sess_save_path, $sess_session_name; + + $sess_file = "$sess_save_path/sess_$id"; + if ($fp =  <email protected>($sess_file, "w")) { + return(fwrite($fp, $sess_data)); + } else { + return(false); + } + +} + +function destroy ($id) { + global $sess_save_path, $sess_session_name; + + $sess_file = "$sess_save_path/sess_$id"; + return( <email protected>($sess_file)); +} + +/*************************************************** + * ATTENTION - Vous devez implémenter une routine * + * d'entretien des sessions ici. * + ***************************************************/ +function gc ($maxlifetime) { + return true; +} + +session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); + +session_start(); + +// utilisez vos sessions normalement + +?> + + + + + + + + + session_cache_limiter + Lit et/ou modifie le limiteur de cache + + + Description + + + string session_cache_limiter + string + cache_limiter + + + + + session_cache_limiter retourne le nom du limiteur + de cache courant. Si cache_limiter est spécifié, + le nom du limiteur de cache est remplacé par cette nouvelle valeur. + + + Le limiteur de cache contrôle l'envoi des entête HTTP envoyés au client. + Ces entêtes déterminent les règles de mise en cache des pages. En utilisant + la valeur de nocache, par exemple, vous désactiverez + la mise en cache coté client. La valeur de public, + cependant, le permettra. private aussi, + tout en étant légèrement plus restrictive que public. + + + Le limiteur de cache est remis à sa valeur par défaut, stockée dans + session.cache_limiter, initialisée au lancement. + Vous devrez donc appeler session_cache_limiter pour + chaque requête (et avant l'appel à session_start). + + + Exemples avec <function>session_cache_limiter</function> + +<?php + +# Met le limiteur de cache à 'private' + +session_cache_limiter('private'); +$cache_limiter = session_cache_limiter(); + +echo "Le limiteur de cache vaut actuellement $cache_limiter<p>"; +?> + + + + + Cette fonction a été ajoutée dans PHP 4.0.3. + + + + + + + +