Objet Session
Vous pouvez utiliser l'objet Session pour stocker les informations nécessaires à une session utilisateur spécifique. De cette manière, lorsque l'utilisateur passe d'une page Web à l'autre de l'application, les variables stockées dans l'objet Session ne seront pas perdues, mais persisteront tout au long de la session utilisateur.
Lorsqu'un utilisateur demande une page Web à une application, le serveur Web créera automatiquement un objet Session si l'utilisateur n'a pas déjà de session. Lorsqu'une session expire ou est abandonnée, le serveur met fin à la session.
L'une des utilisations les plus courantes des objets Session est de stocker les préférences de l'utilisateur. Par exemple, si l'utilisateur indique qu'il n'aime pas visualiser les graphiques, ces informations peuvent être stockées dans l'objet Session. Pour plus d'informations sur l'utilisation de l'objet Session, voir « Gestion des sessions » dans la section « ASP Application ».
Notez que l'état de session n'est conservé que dans les navigateurs prenant en charge les cookies.
Syntaxe
Session.collection|property|method
Collection
Contenu Contient les éléments qui ont été ajoutés à la session à l'aide de commandes de script.
StaticObjects contient des objets créés via la balise
<% Session("username") = "Janine" Session("age") = 24 %>
Cependant, si vous stockez l'objet dans un objet Session et que vous utilisez VBScript comme langage de script principal. Le mot clé Set doit être utilisé. Comme le montre le script suivant.
<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>
Ensuite, vous pouvez appeler les méthodes et propriétés révélées par MyComponent.class1 sur la page Web suivante :
<% Session("Obj1").MyMethod %>
<% Set MyLocalObj1 = Session("Obj1") MyLocalObj1.MyObjMethod %>
Mais les objets intégrés ne peuvent pas être stockés dans des objets Session. Par exemple, chaque ligne ci-dessous renverra une erreur.
<% Set Session("var1") = Session Set Session("var2") = Request Set Session("var3") = Response Set Session("var4") = Server Set Session("var5") = Application %>
modèle de thread il utilise. Seuls les objets marqués « Les deux » peuvent être stockés dans un objet Session qui ne verrouille pas la session monothread. Pour plus d'informations, consultez « Choix d'un modèle de thread » dans « Création d'un composant ASP ». Si vous stockez un
tableau dans un objet Session, veuillez ne pas modifier directement les éléments stockés dans le tableau. Par exemple, le script suivant ne peut pas être exécuté. <% Session("StoredArray")(3) = "new value" %>
Cela est dû au fait que l'objet Session est implémenté en tant que collection. L'élément de tableau StoredArray(3) n'a pas obtenu de nouvelle valeur. Cette valeur sera incluse dans la collection d'objets Application et écrasera toutes les informations précédemment stockées à cet emplacement.
Nous vous recommandons fortement, lors du stockage d'un tableau dans un objet Session, d'obtenir une copie du tableau avant de récupérer ou de muter les objets du tableau. Lorsque vous travaillez sur un tableau, vous devez stocker l'intégralité du tableau dans l'objet Session afin que toutes les modifications que vous apportez soient stockées. Le script suivant le démontre.
---file1.asp---
<% 'Creating and initializing the array Dim MyArray() Redim MyArray(5) MyArray(0) = "hello" MyArray(1) = "some other string " 'Storing the array in the Session object Session("StoredArray") = MyArray Response.Re dir ect("file2.asp") %> ---file2.asp--- <% 'Retrieving the array from the Session Object 'and mod if ying its second element LocalArray = Session("StoredArray") LocalArray(1) = " there" ' print ing out the string "hello there" Response.Write(LocalArray(0)&LocalArray(1)) 'Re-storing the array in the Session object 'This overwrites the values in StoredArray with the new values Session("StoredArray") = LocalArray %>
Après avoir entré le nom d'utilisateur et le mot de passe corrects à la page A,
ajoutez une déclaration : session( "isLogin")=true
Juge avant la page B :
if session("isLogin")=false then response.write "未登录" response.en end if
Défini après la connexion :
session("user")=username
Entrée à la page B :
if session("user")="" then Response.write("<script>alert('请登陆!');window.history.go(-1);</scritp>") end if
5. Explication détaillée des techniques d'utilisation de Session en ASP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!