Loops 在会话中循环变量
我试图在会话中循环变量。在上一页中,我有一个下拉列表,允许用户选择设置为变量pcount的1到5。根据用户选择的内容,下一页上的表单会重复多次PCount。我需要能够在会话中循环变量,以便它知道firstname_1 firstname_2等。。。然后在我的最后一个屏幕上显示为session session.checkout.info.firstname\u Peoplecount。我不知道如何在会话中正确地编写变量。任何帮助都将不胜感激Loops 在会话中循环变量,loops,session,coldfusion,session-variables,Loops,Session,Coldfusion,Session Variables,我试图在会话中循环变量。在上一页中,我有一个下拉列表,允许用户选择设置为变量pcount的1到5。根据用户选择的内容,下一页上的表单会重复多次PCount。我需要能够在会话中循环变量,以便它知道firstname_1 firstname_2等。。。然后在我的最后一个屏幕上显示为session session.checkout.info.firstname\u Peoplecount。我不知道如何在会话中正确地编写变量。任何帮助都将不胜感激 <cfset Peoplecount =
<cfset Peoplecount = 1>
<cfloop
index="Add"
from="1"
to="#session.checkout.quantity.pcount#"
step="1"
>
<!---
If no checkout, send them to step 1
--->
<cfif not structKeyExists(session, "checkout")>
<cflocation url="enter.cfm" addToken="false">
</cfif>
<!--- initial defaults for the section --->
<cfif not structKeyExists(session.checkout, "info")>
<cfset session.checkout.info = {firstname_#Peoplecount#=""}>
</cfif>
<!--- form fields will default according to session values--->
<cfparam name="form.firstname_#Peoplecount#"
default="#session.checkout.info.firstname_#Peoplecount#">
<cfif structKeyExists(form, "submit")>
<cfset errors = []>
<cfif not arrayLen(errors)>
<cfset session.checkout.info =
{firstname_#Peoplecount#=form.firstname_#Peoplecount#}>
<cfset Peoplecount = PeopleCount + 1>
</cfloop>
<cflocation url="ownerCheck.cfm" addToken="false">
</cfif>
</cfif>
然后在IF语句中添加所需的键和值,例如
<cfset session.checkout.info["firstname_#Peoplecount#"] = form["firstname_#Peoplecount#"]>
你的问题不清楚,但我能想到两件可能对你有帮助的事情。首先,只在循环中执行必须在循环中执行的操作。在您的情况下,检查session.checkout应该在循环之前完成。其次,对于设置具有动态名称的变量,数组表示法是您的freind。如果这正是您得到的错误,那么您没有执行建议。您继续。。。这应该是最后一个,而且似乎结束标记太多了。如果有疑问,请查看您的数据。在循环中放置一个cfdump,以便查看发生在您身上的情况。@DB7您总是覆盖session.checkout.info的值。相反,在循环开始之前,将其作为空结构创建一次。然后将firstname\u Peoplecount=form[firstname\u Peoplecount]键值附加到其中。我将用一个例子更新我的答案
<cfset session.checkout.info = {
"firstname_#Peoplecount#" = form["firstname_#Peoplecount#"]
}>
<cfset session.checkout.info = {}>
<cfset session.checkout.info["firstname_#Peoplecount#"] = form["firstname_#Peoplecount#"]>