2012-01-23 2 views
1

그래서 실험 프로그램을 작성하고 있습니다. 단계 중 하나는 항목을 쿼리하여 사람들이 이동할 준비가되었는지 확인하는 것입니다. 나는 PHP에 익숙해 졌기 때문에 항상 트릭을 수행했다. 그러나 Coldufusion을 사용하면 다음 페이지 [페이지 하단의 Pastebin에 게시]가 한 번 실행되고 메타 새로 고침이 수행되고 쿠키가 종료됩니다.CFCookie가 http 메타로드에서 죽습니다

그래서 플래그를 사용하면 쿠키가 첫 번째 실행 중에 제외되었지만 두 번째 등등의 경우 쿠키가 종료되어 전체 실험이 중단됩니다.

그럼 내 질문은 Coldfusion의 cfcookies가 메타 새로 고침 후에 무작위로 죽는가? 그렇다면 ColdFusion 해결 방법이 있습니까?

문제가있는 페이지 : http://pastebin.com/1BJLahHZ

쿠키로 폼 저장하여 정보를 당긴 페이지 : http://pastebin.com/ekP5Ea0U

* 쿠키에 타이머 2 시간 [타이머 = createTimeSpan (0 , 2,0,0)] 그래서 나는 그렇게 확신하지 않습니다.

미리 감사드립니다.

+1

우리는 쿠키를 쓰거나 만드는 * 코드를보아야합니다. 링크 된 코드는 그 존재를 확인하거나 값을 읽는 것을 보여줍니다. 충분한 정보가 없습니다. –

+0

두 번째 pastebin은 쿠키 생성이 이루어진 위치를 보여줍니다. –

답변

2

<cflocation url="http://cbees-dev/newTR3/wait.cfm">을 사용하면 페이지가로드되어 클라이언트에 렌더링되기 전에 쿠키가 설정되지 않으므로 쿠키가 설정되지 않습니다.

자바 스크립트를 대신 사용하십시오.

<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을 사용할 수 없습니다. cflocation이 발생할 때 쿠키가 생성되었다는 것을 알리기 위해 브라우저에 정보를 전달하는 데 필요한 http 헤더가 플러시됩니다.

<CFCOOKIE> 세트가 리디렉션 될 가능성이없는 페이지에서 수행되도록 논리를 다시 디자인하십시오.

+1

이것은 아마도 더 나은 대답 일 수 있으며 앞으로이 논리를 마음에 받아 들여야합니다. 디: –

관련 문제