2

私はセッション変数を削除するコードをたくさん探しましたが、成功への近道は次のとおりです。

<cfset StructDelete(Session,"username")>

最初は機能しますが、二度と機能しません。私はこれに過去1時間を費やしましたが、狂っています。どんな助けも大歓迎です。

これが関連しているかどうかはわかりませんが、何らかの理由で .cfm を変更すると、常に即座に「更新」されるとは限りません。つまり、ページを変更してアクセスすると、新しいコードが使用されなくなるということです。デバッグしようとするとこれは恐ろしいことです...

4

2 に答える 2

5

あなたはそれが復活しつつあるという意味で、それは消えるべきだと思っているのではないかと思います。変数を設定する「cfparams」を探します。削除された後、次のリクエストで再開される可能性があります。

ブール値を追加して、削除時に存在するかどうかを確認することもできます。

<cfset exists= structdelete(session, 'username', true)/>  

これにより、存在する場合は「はい」、存在しない場合は「いいえ」が返されます。必要に応じて、さらにロジックを実行できます。

また、アプリケーション名、セッション タイムアウト値 onsessionStart() などを確認することもできます。リクエストごとに新しいセッションがインスタンス化されるという問題を見てきました。

于 2012-05-04T21:11:34.627 に答える
0

セッション変数を cfset して強制終了するだけです...

 <cfset session.allowin = "False">

そして、application.cfm ファイルは常に true を探しています...

于 2012-05-06T00:55:45.903 に答える