2012-01-23 13 views
1

私は実験プログラムを書いています。手順の1つに、エントリを照会して、人々が移動する準備ができているかどうかを確認する方法があります。私はPHPにもっと慣れているので、常にトリックをしました。しかし、Coldufusionでは、[ページの一番下のPastebinに掲載された]次のページが一度実行され、メタリフレッシュが実行され、クッキーが終了します。CFCookieはhttpメタリロードで死ぬ

フラグでは、最初の実行中にクッキーがエスケープされていることがわかりますが、2番目などは、クッキーが終了し、実験全体が停止します。

私の質問は何ですか?ColdFusionのcfcookiesは、メタリフレッシュ後にランダムに消滅しますか?その場合は、ColdFusionの回避策がありますか?

問題のページ:クッキーにフォームや店舗、そこから情報を引き出しhttp://pastebin.com/1BJLahHZ

ページ:http://pastebin.com/ekP5Ea0U

*クッキーにタイマーが2時間[タイマー=は、CreateTimeSpan(0であります、2,0,0)]私はそれがそうではないと確信しています。

ありがとうございます。

+1

*クッキーの書き込み/作成*コードを参照する必要があります。リンクされたコードは、その存在のチェック/値の読み取りのみを示します。十分な情報がありません。 –

+0

2番目のペーストビンは、クッキーの作成場所を示します。 –

答えて

2

<cflocation url="http://cbees-dev/newTR3/wait.cfm">を使用するとCookieが設定されることはありません。これは、ページがロードされてクライアントに表示される前に発生するため、Cookieは決して設定されません。

代わりにjavascriptを使用してください。あなたはクッキーを作成し、すぐにcflocationのとそれに従うことができない

<script type="text/javascript"> 
    location.href='http://cbees-dev/newTR3/wait.cfm'; 
</script> 
+0

ありがとう、Dale。 :D私はリフレッシュを遅らせるJSの方法も見つけなければならないと思う。 –

+1

それは簡単です 'setTimeout( 'http://cbees-dev/newTR3/wait.cfm'、5000); ' 5000 = 5秒です。 –

+0

もう一度ありがとうございます。 :D –

3

。 cflocationが発生すると、cookieが作成されたことを伝えるために情報をブラウザに渡すために必要なhttpヘッダーがフラッシュされます。

<CFCOOKIE>のセットがリダイレクトされる可能性のないページで行われるようにロジックを再設計します。

+1

これはおそらくもっと良い答えです。私はこの論理を将来的には心に留めておくべきです。 D: –

関連する問題