ARTICLES | Applications | Best of | FAQ | Forums | VBScript | JScript | Livres | Liens | Contact | ACCUEIL

LA REFERENCE FRANCAISE DES DEVELOPPEURS ACTIVE SERVER PAGEs



Manipuler les variables de session
Les variables de session présentent des intérêts multiples et évidents. Elles permettent de suivre un visiteur pour lui permettre de rappeler à tout moment des valeurs le concernant (articles commandés dans une application de vente en ligne, identification page par page pour les droits d'accès à une partie privée, etc.). Mais bien utilisées, elles seront d'un intérêt précieux pour limiter, parfois considérablement, les accès à la base de données.

Deux choses préliminaires sont à savoir :

Sauf reparamétrage spécifique côté serveur, la durée de vie d'une variable de session est de 20 minutes. Cela signifie que cette variable "vivra" aussi longtemps que l'auteur de la session naviguera sur le site. Dès qu'il restera inactif pendant 20 minutes consécutives, la variable de session "mourra". A noter que cette durée de vie de 20 minutes peut aisément être reconfigurée dans le fichier global.asa grâce à la fonction Session.Timeout.

Le fait de donner une seconde valeur à une même variable de session détruit la valeur précédente qui lui avait été attribuée.

Comment créer et exploiter une variable de session ?

Prenons un exemple simple : pour permettre au visiteur d'accéder à un site en personnalisant ses pages, vous lui demandez, au travers d'un formulaire simple, de s'identifier par un pseudo quelconque.

<FORM METHOD="POST" ACTION="ident.asp">
<P>Choisissez un pseudo :<BR>
<INPUT TYPE="text" NAME="login">
<INPUT TYPE="submit" VALUE=" OK ">
<FORM>

Ce qui donnera :

Choisissez un pseudo :

Sur la page suivante (ident.asp), vous récupérerez la variable de session de la façon suivante :

<% Session("login") = Request("login") %>

Il ne vous reste plus qu'à la réutiliser comme bon vous semble, par exemple :

<p><% =Session("login") %>, bienvenue sur notre service !</p>

Les variables de session s'avéreront particulièrement utiles en cas de saisie d'un formulaire sur plusieurs pages : plutôt que de sauvegarder les données dans la base à chaque page et de rappeler aussitôt les valeurs dans la même base, il sera plus simple et plus fiable (limitation de la montée en charge générée par les connexions ODBC) de stocker chaque valeur dans une variable de session. A la validation finale du formulaire, il y aura une écriture dans la base de données, et il suffira de donner à chaque champ la valeur <% Session("nomvaleur") %>.

Dans un type d'application un peu différent, ceux qui souhaiteront développer une boutique en ligne avec un panier virtuel pourront stocker les deux valeurs nécessaires du contenu du panier (réf. article et quantité commandée) dans des variables de session :

Article 1 > Référence : <% Session("ref1") %>, Qté : <% Session("qt1") %>
Article 2 > Référence :
<% Session("ref2") %>, Qté : <% Session("qt2") %>
etc.


VERSION IMPRIMABLE PDF


Jean Lançon, MJ Presse


Retour à la liste des articles

Hit-Parade  


FastCounter by bCentral