우리는 다양한 클래스에 대한 정보를 추가하고 편집 할 수있는 스케줄링 시스템의 일부로 사용되는 아래 코드 (부분 코드)를 가지고 있습니다. "이전 날짜로부터 복사"기능을 시작하면 "날짜가 유효하지 않습니다"라는 메시지가 다시 보내집니다.이 날짜는 코드 하단의 cfelse 조건의 일부입니다 (초기 cfif는 첫 번째는 아래). 이것은 모든 브라우저에서 발생하지는 않습니다. 일부 Windows 버전의 Firefox에서 작동합니다.cfif isdate (URL.day) 문제 - 항상 cfelse를 호출합니까?
<cfif isdate(URL.day)>
do a bunch of stuff...
...
<cfoutput>
<p><strong>Copy Schedule from:</strong> <select name="scheduleCopy" size="1" onchange="parent.F7cms.content.iframe('scheduleManagerDay#URL.day#-tab1','components/custom/scheduleManager.cfm?day=#URL.day#©_day=' + this.value);"><option value="">-- SELECT DAY --</option><cfloop query="pastDays"><option value="#day_id#">#dateFormat(day_date,"DDDD, MMMM D, YYYY")#</option></cfloop></select></p>
</cfoutput>
...
본질적<cfelse>
<cfoutput><h2>The date is invalid.</h2></cfoutput>
</cfif>
은으로 cfelse, 아래의 기능이 사용되는 경우 도시되고, "날짜가 잘못" . 이 함수는 한 날짜에서 다른 날짜로 정보를 복사하는 데 사용되며 실제로 날짜가 완벽하게 유효하다고 판단합니다. 불쾌한 cfif가 있다고 생각합니다. 문제의 범위를 좁히는 데 관련이 있다고 생각하는 코드를 많이 넣었습니다. 어떤 조언을 부탁드립니다.
: 여기<cfoutput>
<p><strong>Copy Schedule from:</strong> <select name="scheduleCopy" size="1" onchange="parent.F7cms.content.iframe('scheduleManagerDay#URL.day#-tab1','components/custom/scheduleManager.cfm?day=#URL.day#©_day=' + this.value);"><option value="">-- SELECT DAY --</option><cfloop query="pastDays"><option value="#day_id#">#dateFormat(day_date,"DDDD, MMMM D, YYYY")#</option></cfloop></select></p>
</cfoutput>
가 오류로 이어지는 클릭 한 것을 위의 코드에서 생성 된 HTML이다 : 또한
, "날짜가 유효하지 않습니다"에 이르게하는 과정을 시작하는 코드는 다음입니다
<p><strong>Copy Schedule from:</strong> <select name="scheduleCopy" size="1" onchange="parent.F7cms.content.iframe('scheduleManagerDay2011-09-5-tab1','components/custom/scheduleManager.cfm?day=2011-09-5©_day=' + this.value);"><option value="">-- SELECT DAY --</option><option value="266">Sunday, September 4, 2011</option><option value="265">Saturday, September 3, 2011</option><option value="264">Friday, September 2, 2011</option><option value="263">Thursday, September 1, 2011</option><option value="262">Wednesday, August 31, 2011</option><option value="261">Tuesday, August 30, 2011</option><option value="260">Monday, August 29, 2011</option><option value="259">Sunday, August 28, 2011</option><option value="258">Saturday, August 27, 2011</option><option value="257">Friday, August 26, 2011</option><option value="256">Thursday, August 25, 2011</option><option value="255">Wednesday, August 24, 2011</option><option value="254">Tuesday, August 23, 2011</option><option value="253">Monday, August 22, 2011</option></select></p>
어떤 아이디어라도 도움이 될 것입니다. 광산에 회신 의견을 바탕으로
이
질문과 관련이 없지만 SQL 주입 공격으로부터 보호하기 위해 쿼리에 cfqueryparam을 사용하는 것을 고려하십시오. –
URL.day의 값은 무엇입니까? –
URL.day의 출력이 2011-09-5 인 것으로 보입니다 © _day = 260 – Nietzsche