我使用Dreamweaver CS5和Coldfusion 9构建动态网站。我有一个存储登录信息的MS Access数据库,其中包括ID,FullName,FirstName,LastName,Username,Pawword,AcessLevels。更改会话变量输出
我的问题是这样的: 我目前有会话变量来跟踪登录页面中输入的用户名。不过,我想使用该用户名来拉取用户的全名,以便在整个网页上显示并用于查询数据。如何更改会话变量,以便在没有在登录页面输入FullName时输入用户名和密码。
如果有任何需要的附加信息,请在下面列出我的登录信息代码,请让我知道。
这是FullName值驻留在DataSource“Access”表中的路径“Logininfo”字段“FullName”我希望FullName根据从Login页面提交的用户名是唯一的。
对于我可能造成的任何新秀错误,我提前表示道歉,我对此很陌生,但学得很快!哈。
<cfif IsDefined("FORM.username")>
<cfset MM_redirectLoginSuccess="members_page.cfm">
<cfset MM_redirectLoginFailed="sorry.cfm">
<cfquery name="MM_rsUser" datasource="Access">
SELECT FullName, Username,Password,AccessLevels FROM Logininfo WHERE Username=<cfqueryparam value="#FORM.username#" cfsqltype="cf_sql_clob" maxlength="50"> AND Password=<cfqueryparam value="#FORM.password#" cfsqltype="cf_sql_clob" maxlength="50">
</cfquery>
<cfif MM_rsUser.RecordCount NEQ 0>
<cftry>
<cflock scope="Session" timeout="30" type="Exclusive">
<cfset Session.MM_Username=FORM.username>
<cfset Session.MM_UserAuthorization=MM_rsUser.AccessLevels[1]>
</cflock>
<cfif IsDefined("URL.accessdenied") AND false>
<cfset MM_redirectLoginSuccess=URL.accessdenied>
</cfif>
<cflocation url="#MM_redirectLoginSuccess#" addtoken="no">
<cfcatch type="Lock">
<!--- code for handling timeout of cflock --->
</cfcatch>
</cftry>
</cfif>
<cflocation url="#MM_redirectLoginFailed#" addtoken="no">
<cfelse>
<cfset MM_LoginAction=CGI.SCRIPT_NAME>
<cfif CGI.QUERY_STRING NEQ "">
<cfset MM_LoginAction=MM_LoginAction & "?" & XMLFormat(CGI.QUERY_STRING)>
</cfif>
</cfif>
您在Adobe Dreamweaver应用程序开发论坛上提出了同样的问题,并在@Danilo Celic花了两个小时才回答问题。你应该已经解决了你的问题,以避免浪费时间来帮助你。 – 2011-01-08 00:14:31