プロが教える店舗&オフィスのセキュリティ対策術

ASPで初めてプログラムしています。

A.asp → Err.inc → Err.asp
というように、エラーがあったらErr.aspに
遷移するようにしているのですが、
Err.aspで更新ボタンを押さないとSession値が表示されません。

具体的に
*** Err.inc ***
<%
Sub COMM_USER_ERROR(strMsg)
  session("ErrMsg") = strMsg
  'システムエラー表示
  Response.Redirect("Err.asp")
  Response.End
End Sub
%>

*** A.asp ***
If Request.ServerVariables("REQUEST_METHOD") <> "POST" Then
  Call COMM_USER_ERROR("不正なアクセスをしました")
End If

*** Err.asp ***
<HTML>
  (中略)
  <%=session("ErrMsg")%>

どうしたらよいか全くわかりません。
どなたか教えていただけないでしょうか?
よろしくお願いいたします。

A 回答 (1件)

Response.Write("ErrMsg="& session("ErrMsg")%)とやってみてsessionに値が入っているか確認するという話もありますが、単純にブラウザがキャッシュしている可能性もあります。

IEであれば[インターネットオプション]-[全般]の[インターネット一時設定]で「ページを表示する毎に確認する」にして試してみてください。
    • good
    • 0
この回答へのお礼

sakakkyさん、本当にありがとうございます。
アドバイス通り「ページを表示する毎に確認する」で試したところ解決しました。

A.asp → Err.inc → Err.asp

というながれで他のASPページでも利用していて
あるページではできるけど、あるページではできないという感じで
何がいけないのか全くわかりませんでした。

でも今見直してみると、問題なくSessionが表示できていたところでは、
前に「Application.Contents.RemoveAll()」としていたからかもしれません。

本当にありがとうございました。

お礼日時:2005/03/16 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!