奇怪的问题...我的应用程序 ( 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 语句之外。还有其他我想念的东西吗?
谢谢!