ホームページ  >  記事  >  バックエンド開発  >  ASPセッションの簡単な例

ASPセッションの簡単な例

Y2J
Y2Jオリジナル
2017-05-18 11:40:381669ブラウズ

Session オブジェクト
Session オブジェクトは、特定のユーザー セッションに必要な情報を保存するために使用できます。このようにして、ユーザーがアプリケーションの Web ページ間を移動しても、Session オブジェクトに格納されている変数は失われることなく、ユーザー セッション全体にわたって保持されます。
ユーザーがアプリケーションから Web ページをリクエストすると、ユーザーがまだセッションを持っていない場合、Web サーバーは自動的に Session オブジェクトを作成します。セッションが期限切れになるか放棄されると、サーバーはセッションを終了します。
Session オブジェクトの最も一般的な用途の 1 つは、ユーザー設定を保存することです。たとえば、ユーザーがグラフィックスを見るのが好きではないことを示した場合、この情報は Session オブジェクトに保存できます。 Session オブジェクトの使用方法の詳細については、ASP アプリケーション セクションの「セッションの管理」を参照してください。
セッション状態は、cookieをサポートするブラウザでのみ保存されることに注意してください。
構文

Session.collection|property|method

コレクション
コンテンツには、スクリプトコマンドを使用してセッションに追加された項目が含まれます。
StaticObjects には、7a4d48e0cef2cd71d96cba7e2b26153a タグと指定されたセッション スコープを介して作成されたオブジェクトが含まれます。

Property
CodePage シンボル マッピングに使用されるコード ページ。
LCID フィールドの識別。
SessionID はユーザーのセッション検証を返します。
タイムアウト アプリケーションのセッション状態のタイムアウト期間 (分単位)。

メソッド
Abandon このメソッドは、Session オブジェクトを破棄し、そのリソースを解放します。
イベント
次のイベントのスクリプトは、global.asa ファイルで宣言されています。
Session_OnEnd
Session_OnStart

上記のイベントと global.asa ファイルの詳細については、Global.asa リファレンスを参照してください。
コメント
Session オブジェクトに値を保存できます。 Session オブジェクトに格納された情報は、セッションおよびセッション スコープ内で有効です。次のスクリプトは、2 種類の変数がどのように格納されるかを示しています。

<% 
Session("username") = "Janine" 
Session("age") = 24 
%>

ただし、オブジェクトを Session オブジェクトに保存し、メインのスクリプト言語として VBScript を使用する場合は、キーワード Set を使用する必要があります。次のスクリプトに示すように。

<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>

その後、次のように、後続の Web ページで MyComponent.class1 によって公開されるメソッドとプロパティを呼び出すことができます:

<% Session("Obj1").MyMethod %>

また、オブジェクトのローカル コピーを展開し、次のスクリプトを使用して呼び出すこともできます:

<% 
Set MyLocalObj1 = Session("Obj1") 
MyLocalObj1.MyObjMethod 
%>

セッションスコープのオブジェクトを作成する別の方法は、global.asa ファイルで 7a4d48e0cef2cd71d96cba7e2b26153a タグを使用することです。
ただし、組み込みオブジェクトを Session オブジェクトに保存することはできません。たとえば、以下の各行はエラーを返します。

<% 
Set Session("var1") = Session 
Set Session("var2") = Request 
Set Session("var3") = Response 
Set Session("var4") = Server 
Set Session("var5") = Application 
%>

オブジェクトを Session オブジェクトに保存する前に、オブジェクトが使用しているスレッド モデル を理解する必要があります。シングルスレッド セッションをロックしない Session オブジェクトに格納できるのは、「両方」とマークされたオブジェクトのみです。詳細については、「ASP コンポーネントの作成」の「スレッド モデルの選択」を参照してください。
配列をSessionオブジェクトに格納する場合、配列に格納されている要素を直接変更しないでください。たとえば、次のスクリプトは実行できません。
これは、Session オブジェクトがコレクションとして実装されているためです。配列要素 StoredArray(3) は新しい値を取得しませんでした。この値はアプリケーション オブジェクト コレクションに含まれ、この場所に以前に保存されていた情報は上書きされます。
Session オブジェクトに配列を保存する場合は、配列内のオブジェクトを取得または変更する前に、配列のコピーを取得することを強くお勧めします。配列を操作するときは、加えた変更がすべて保存されるように、配列全体を Session オブジェクトに保存する必要があります。次のスクリプトはこれを示しています。
---file1.asp---

<% 
&#39;Creating and initializing the array 
Dim MyArray() 
Redim MyArray(5) 
MyArray(0) = "hello" 
MyArray(1) = "some other 
string
"
&#39;Storing the array in the Session object 
Session("StoredArray") = MyArray
Response.Re
dir
ect("file2.asp") 
%>
---file2.asp--- 
<% 
&#39;Retrieving the array from the Session Object 
&#39;and mod
if
ying its second element 
LocalArray = Session("StoredArray") 
LocalArray(1) = " there"
&#39;
print
ing out the string "hello there" 
Response.Write(LocalArray(0)&LocalArray(1))
&#39;Re-storing the array in the Session object 
&#39;This overwrites the values in StoredArray with the new values 
Session("StoredArray") = LocalArray 
%>

関連する回答:

ページ A で正しいユーザー名とパスワードを入力した後、
ステートメントを追加します: session("isLogin")=true
ページ B の前の判断:

if session("isLogin")=false then 
response.write "未登录" 
response.en 
end if

それだけです

ログイン後に設定します:
session("user")=username
ページBに入力します:

if session("user")="" then 
Response.write("<script>alert(&#39;请登陆!&#39;);window.history.go(-1);</scritp>") 
end if

【関連する推奨事項】

1.

ASP無料ビデオチュートリアル

2. ASPのセッションの紹介

3.

ASPセッション損失の問題を解決する方法を教えます

4. ASPのSessionオブジェクトの3つのメソッドを紹介します

5. ASPでセッションを使用するスキルの詳細な説明

以上がASPセッションの簡単な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。