セッション変数 Session("USERNAME") で名前の管理

Classic ASPテストページです。
情報が古いので参考程度に読んだりテストしてみてください。
共有サーバーなので、処理に時間がかかるとタイムアウトやアクセスが集中すると落ちている時がありますがご勘弁を・・・

三流君(TOP) /ASPで遊ぶ /ASP記事一覧を見る

分類: [Form関係] /DB系ADOを使い( [Mdb接続] [CSV接続] [Excel接続]) /[ASPでTextFileを操作] /[VBScript関数ほか]

じゃんけんゲーム



あなたのお名前は?



アナタのIP Address=54.91.203.233
Session.SessionID=675089344
サーバー再起動時に同じセッションIDが振られることがあるが、
通常は毎回違う値が表示される
ブラウザを閉じてからまた開いたり
隣のインターネット上同じIPの端末から2つ同時に開いたり してテストしてみよう




ASPサンプルソース(プログラムのソースコード)

詳細解説は[http:/asp/backno/asp064.html]を見てください
下記、/cgi-bin/test/test064-1.aspのソース(中身)です

Session を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはSession です。 <%@LANGUAGE=VBScript%> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>セッション変数 Session("USERNAME") で名前の管理</title> </head> <body> <h2>セッション変数 Session("USERNAME") で名前の管理</h2> <h3>じゃんけんゲーム</h3><br> <% 'ユーザー名が送られていたら、セッション変数にセットする D = Request.QueryString("UNAME") 'データを代入 If Len(D) <> 0 Then 'データあり Session("USERNAME") = D '名前の代入 End If 'パラメータをチェックする、セッション変数に名前が入っているか? USER_NAME = Session("USERNAME") 'Lenで変数の長さをチェックする If Len(Trim(USER_NAME)) = 0 Then '名前が未入力なら Call INPUT_NAME() '名前入力フォームの表示 Else D = Request.QueryString("DATA") 'データを代入(選択された手) If Len(D) = 1 Then 'データあり Call HANTEI(D) '判断用の関数を呼ぶ End If Call INPUT_FORM() '入力用のフォームを表示する、再度入力させる End If %> <hr> アナタのIP Address=<%=Request.ServerVariables("REMOTE_ADDR")%><br> Session.SessionID=<%=Session.SessionID%><br> サーバー再起動時に同じセッションIDが振られることがあるが、<br> 通常は毎回違う値が表示される<br> ブラウザを閉じてからまた開いたり<br> 隣のインターネット上同じIPの端末から2つ同時に開いたり してテストしてみよう<br><hr> </body> </html> <% '名前入力フォームの表示 Sub INPUT_NAME() Response.Write "<HR>" Response.Write "<FORM ACTION='test064-1.asp' METHOD='GET'>" Response.Write "あなたのお名前は?<br>" Response.Write "<INPUT TYPE='text' NAME='UNAME'><br>" Response.Write "<INPUT TYPE='submit' VALUE='名前の登録'><br>" Response.Write "</FORM>" End Sub %> <% '入力フォームの表示(勝負する手を入力) Sub INPUT_FORM() Response.Write "<HR>" Response.Write "<FORM ACTION='test064-1.asp' METHOD='GET'>" Response.Write "<b>" & USER_NAME & "</b>さん、あなたの手は?<br>" Response.Write "<INPUT TYPE='RADIO' NAME='DATA' VALUE='1'>1.グー<br>" Response.Write "<INPUT TYPE='RADIO' NAME='DATA' VALUE='2'>2.チョキ<br>" Response.Write "<INPUT TYPE='RADIO' NAME='DATA' VALUE='3'>3.パー<br>" Response.Write "<INPUT TYPE='submit' VALUE='勝負する'><br>" Response.Write "</FORM>" End Sub %> <% '乱数を発生させて勝負する Sub HANTEI(strNO) 'ユーザーの手を受取り判断する Dim nCON 'コンピュータの手1〜3の数値が入る Dim nPC 'ユーザーさんの手 Dim strTE(3) '(*1)配列変数を宣言 strTE(1) = "グー" '(*2)配列にメッセージを代入 strTE(2) = "チョキ" strTE(3) = "パー" '入力値の判断、エラーならメッセージを表示させ抜ける 'If文で1,2,3以外を判断する If strNO <> "1" And strNO <> "2" And strNO <> "3" Then Response.Write "[" & strNO & "]は不正な入力です" Exit Sub '<--Exit Subを使用してここでプログラムを抜ける End If 'コンピュータの手を決定 Randomize ' 乱数発生ルーチンを初期化します。 nCON = Int((3 * Rnd) + 1) '1 から 3 までの乱数を発生させます。 '結果判断と表示 'ユーザーの手を表示する nPC = CInt(strNO) 'CInt関数で数値型に変換する Response.Write USER_NAME & "さんの手は、" Response.Write strTE(nPC) & "です<br>" '(*3)ここでnPC番目を表示 '(*4)同様にコンピュータの手を表示する Response.Write "コンピュータの手は" & strTE(nCON) & "です<br>" '結果の判断 'まず、引き分けを判断 If nPC = nCON Then Response.Write "引き分けです<br>" '次に自分が勝ちの手を判断 グーvsチョキ,チョキvsパー,パーvsグー If nPC = 1 And nCON = 2 Then Response.Write "アナタの勝ちです<br>" If nPC = 2 And nCON = 3 Then Response.Write "アナタの勝ちです<br>" If nPC = 3 And nCON = 1 Then Response.Write "アナタの勝ちです<br>" 'コンピュータが勝ちか判断 グーvsパー,チョキvsグー,バーvsチョキ If nPC = 1 And nCON = 3 Then Response.Write "私(コンピュータ)の勝ちです<br>" If nPC = 2 And nCON = 1 Then Response.Write "私(コンピュータ)の勝ちです<br>" If nPC = 3 And nCON = 2 Then Response.Write "私(コンピュータ)の勝ちです<br>" End Sub %>




Googleで関連項目を検索する

[キーワード:Session] と Sub|Function で検索する。
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

三流解説とリンクページを紹介

ASP系の解説を項目ごとにまとめてみました

まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。
次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません
DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く
VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。



その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[永遠の下書き日記?]← 恥ずかしいのであまり載せてないけど・・・
[ひとりで掲示板?] ←一人で?掲示板?ぉぃぉぃ



[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]


現在時刻は、2018/11/19 8:50:27です。