会议没有在coldfusion工作

时间:2013-11-14 00:45:07

标签: session coldfusion coldfusion-8

我正在使用Login.cfm文件并使用followign方法登录

<cfif IsDefined("FORM.inpUserName") AND ((LCASE(TRIM(inpUserName)) IS "myusername" AND inpPassword IS "mypassword") )>
    <cfset session.username = FORM.inpUserName />
    <cfset SESSION.LoggedIn = 1>    
    <cflocation url="index.cfm" addtoken="no">

<cfelse>
    <cfset SESSION.LoggedIn = 0>
</cfif>

<cfparam default="" name="inpUserName" />
<cfparam default="" name="inpPassword" />

表格定义如下:

<cfform action="Login.cfm" method="post" and so on ...

在cfform中,我定义了两个cfinput标记,用于捕获来自用户的信息,其名称属性为name =“inpUserName”,value =“#inpUserName#”

和密码字段类似。

当我点击“登录”按钮时,没有发生任何事情,请不要像我在cflocation标签顶部提到的那样转到index.cfm?

请澄清

2 个答案:

答案 0 :(得分:1)

让我们来看看这个条件:

<cfif IsDefined("FORM.inpUserName") 
AND ((LCASE(TRIM(inpUserName)) IS "myusername" 
AND inpPassword IS "mypassword") )>

这正在寻找三件事情。

  1. 必须定义form.username
  2. 变量inpUserName,没有空格,小写必须为“myusername”
  3. 变量inpPassword,没有空格,小写必须是“mypassword”
  4. 这意味着,只要您在提交表单时输入“myusername”和“mypassword”的值,就可以满足您的cfif条件。当你编写代码时,这可能不是你想到的。

答案 1 :(得分:0)

尝试清理一下并在整个过程中统一澄清表单变量的范围:

<cfparam name="form.inpUserName" default="" />
<cfparam name="form.inpPassword" default="" />

<cfif TRIM(form.inpUserName) IS "myusername" AND form.inpPassword IS "mypassword">
    <cflock type="exclusive" scope="session" timeout="10" >
        <cfset session.username = form.inpUserName />
        <cfset session.LoggedIn = 1 />   
    </cflock> 
    <cflocation url="index.cfm" addtoken="no" />

<cfelse>
    <cflock type="exclusive" scope="session" timeout="10" >
        <cfset session.LoggedIn = false /> 
    </cflock>
</cfif>

<cfinput type="text" name="inpUserName" value="#form.inpUserName#" />
<cfinput type="password" name="inpPassword" value="#form.inpPassword#" />

如果您要设置isDefined vars,则不需要cfparam功能。

现在,如果您在用户名字段中输入“myusername”,则应该转到index.cfm页面,如果在提交时输入密码字段中的“mypassword”,则会将其发送回自身。

有关锁定会话变量的更多信息:

Should I always need to use cflock with SESSION scope variables?

Configuring and using session variables