Session

違うページに移動したらSessionIDが変わっちゃった。


こりゃ、かなり私がお馬鹿なんですが。
Session変数に代入したはずの値が入ってない〜。はにゃ?
となりまして。
とりあえず、SessionIDを書き出してみたわけですが。

1ページ目。(TEST1.asp)
SessionID【25910221】
aaa【ABC】
bbb【123】


2ページ目。(TEST2.asp)
SessionID【25910221】
aaa【ABC】
bbb【123】


3ページ目(TEST3.asp)
SessionID【25910222】
aaa【】
bbb【】


と、値が保持されていないのではなくて、セッション自体が切り替わっているということに気づいたわけです。
あれ〜?なんで?
2ページ目まではちゃんと表示されてるのに・・・。

と思いつつ、いろいろ調べて、試行錯誤。

難しいわね、いろいろあるのね、んみゅ〜・・・。とな。

結果。
はい、TimeOutもCookieも、な〜〜〜〜んにも関係なかったわよ。

ええ、原因は、VBScriptではなく。
HTML(リンク先の書き方)だけでしたわ。

ワタクシ、3ページ目へのリンクをフルパスで書いていたんですよ。

<a href="http://localhost/DIR1/CCC/TEST3.asp">3ページ目 </a >

とね。 でも、仮想ディレクトリが二つ設定してあったんですね。
C:\Home\AAA\BBB    →    DIR1
C:\Home\AAA\BBB\CCC    →    DIR2

ファイルは全部CCCの下にありまして。
起動はTEST2(http://localhost/DIR2/TEST1.asp)から行っていたわけで。

リンクを

<a href="./TEST3.asp">3ページ目 </a >

と書き換えたならば、あら不思議。
ちゃんと、動くようになりましたとさ。

初歩とかいう以前に、ただのうっかりミスといってしまえばそれまでですが、思い込んでると「そんなとこで間違えてるわけない」って、チェックすらしないから要注意ですな。
ちなみに、なんでそんなわけわかんないディレクトリ設定したかっていうと、途中まで作ったときに「global.asa」をつかってみるかな〜。と思いまして。
で、global.asaは仮想ディレクトリの直下におかなくちゃならなくて、急遽作業してたディレクトリ(CCC)を仮想ディレクトリに設定したゆえのミスでした。
[