2017-09-11 12 views
1

아래 문제는 해결하지 못했지만 처리 할 수있는 방법을 찾은 퍼즐입니다. 마침내 xref2.cfm을 분해하고 한 번에 한 줄씩 다시 정리했습니다. 내가 그렇게하자마자, 양식 범위가 작동하기 시작했습니다. 코드에서 변경된 사항은 없습니다. 그래서 그것은 수수께끼로 남아 있습니다.Lucee 양식 범위가 인식되지 않습니다.

나는 다음과 같이 서로 연결되어 4 개 일련의 절차가 있습니다

person1.cfm이 다른 프로그램에서 전화 및 URL 인수 basetab = 사람과 유래. 변수 "fn"에 초점을 맞추고 있습니다.

<cfif IsDefined('URL.basetab')> 
    <cfset basetab = URL.basetab> 
    <cfset perloc = URL.perloc> 
    <cfset fn  = ''> 
    <cfset ln  = ''> 
    <cfset eof  = "no"> 

그러나 person1.cfm 또한 그러나

<cfelseif IsDefined('form.fn')> 
    <cfset fn  = form.fn> 
    <cfset ln  = form.ln> 
    <cfset basetab = form.basetab> 
    <cfset perloc = form.perloc> 
    <cfset eof  = form.eof> 

</cfif> 

을 person1.cfm하는 I는 FN 위로 통과하는 형태의 범위에 의존하는 경우, 상기 라인 다운되어 cfinclude으로 접근 될 수 있고, 만약 URL 범위 나 양식 범위가 여기에 정의되어 있지 않으면 person1.cfm을 포함하는 프로그램에 변수 fn이 설정되어 있어야하므로이 지점에서 잘 정의되어야합니다.

... stuff ... 
<form action = "person2.cfm" method = "post" ... other stuff> 
<input type = "text" name = "fn" value = "#fn#"> 
    .... more stuff.... 
    ... submit ... 
</form>  

person2.cfm :이 프로세스의 다음 단계입니다

... stuff ... 
<cfset fn = form.fn> 
<cfinclude template = "person1.cfm"> 
<form action = "xref1.cfm" method = "post" ... stuff > 
    <cfoutput> 
    <input type = "hidden" name = "fn" value = "#fn#"> 
    </cfoutput> 
    .... stuff .... 
    .....submit .... 
</form>   

xref1.cfm이 다음 단계

... stuff ... 
<cfset fn = form.fn> 
<cfinclude template = "person2.cfm"> 
<form action = "xref2.cfm" method = "post" ... stuff > 
    <cfoutput> 
    <input type = "hidden" name = "fn" value = "#fn#"> 
    </cfoutput> 
    .... stuff .... 
    .....submit .... 
</form> 

xref2.cfm 마지막 단계, 뭔가 누적 된 항목으로 완료됩니다.

 .... stuff ... 
<cfset fn = form.fn> 
<cfinclude template = "xref1.cfm"> 
    ... no form ... other stuff ... 

문제는 xref2.cfm에서 변수 fn이 양식 범위에서 선택되지 않는다는 것입니다. 확인해 보면 xref2.cfm에 form.fn이 전혀 정의되어 있지 않습니다. 상황이 Person1로 다시 캐스케이드되면 fn이 정의되지 않고 입력 태그에 오류가 발생합니다.

form.fn은 person2.cfm 및 xref1.cfm에 정의되어 있습니다. 그러나 xref2.cfm에 도달하면 사라집니다. 나는 왜 그런지 이해하지 못한다. 누군가가 그 형식 범위가 xref2.cfm에없는 이유를 설명 할 수 있습니까?

+0

"내가 한 것처럼 양식 범위가 작동하기 시작했습니다." 그래서 : 지금 일하고 있다고 말하는거야? –

+0

예, 현재 작동 중입니다. 아무것도 변경되지 않았으므로 당황 스럽습니다. 내가 가지고있는 유일한 생각은 아마도 프로그램 파일의 어딘가에 인쇄용이 아닌 문자가 있었을 것입니다. –

답변

0

나는 오타라고 생각합니다.