奇妙な質問...coldfusion8/MySQL 5.0.88
ユーザーがIE6を使用してアクセスしようとした場合を除いて、私のアプリケーション()は正常に実行されます。これにより、次のエラーがスローされます。
Element PL_SELLERS is undefined in VARIABLES
テストできるすべてのブラウザー(IE8を含む)がこのエラーをスローしないため、再現に問題があります。
問題が次のスニペットにあることはわかっています。
<cfif Session.reload_user EQ "true" OR ( Len(Session.pricelists) EQ 0 OR Len(Session.pl_sellers) EQ 0)>
<cfquery datasource="#Session.datasource#" name="q_preislisten">
... query ...
</cfquery>
<cfif q_preislisten.recordcount NEQ 0>
<cfset variables.pl_sellers = "">
<cfloop query="q_preislisten">
<cfset variables.pl_sellers = variables.pl_sellers & q_preislisten.iln_verkaeufer & ',';>
</cfloop>
</cfif>
<cfif len(variables.pl_sellers) NEQ 0 )>
<cfset variables.pl_sellers = Left(variables.pl_sellers, len(variables.pl_sellers)-1)>
<cfset Session.pl_sellers = variables.pl_sellers>
<cfset Session.reload_user = "false">
</cfif>
<cfelse>
<cfset variables.pl_sellers = Session.pl_sellers>
</cfif>
だから私の質問:
どのような状況variables.pl_sellers
で未定義になる可能性がありますか?
最初の宣言<cfset variables.pl_sellers = "">
をifステートメント全体の外に移動するので、常に少なくとも空の文字列になります。len(variables.pl_sellers)
recordcount-ifステートメントの範囲外であるかどうかのチェックについて考えることができるもう1つの理由。他に足りないものはありますか?
ありがとう!