我有一个5问题的调查表,每页有一个问题,用户点击页面上的下一个按钮点击它们。现在,用户尚未登录,我只想在用户获取表单上的第一个问题并单击下一个时才设置会话变量。但是我在第2行的会话中没有定义用户标识。我不确定我在这里做错了什么。任何人都可以建议,如果他们看到发生了什么。我不想在每次点击下一个按钮时创建多个用户ID。谢谢
<cfif structKeyExists(FORM, "user_mode") and form.user_mode EQ "next">
<cfif NOT ( StructKeyExists(session,userid) )>
<cfquery name="insertuser" datasource="#application.datasource#">
INSERT INTO survey_user(ip_address)
VALUES (<cfqueryparam cfsqltype="cf_sql_varchar" value="#CGI.REMOTE_ADDR#" />)
</cfquery>
</cfif>
</cfif>
答案 0 :(得分:6)
StructKeyExists(session,userid)
应该是:
structKeyExists( session, 'userid' )
注意引号。没有它们,它正在寻找变量“userid”而不是键名“userid”。