我有一个注册页面,要求提供employee_number, user_name, user_pass, firstname, lastname, position, email, phone_extension, department, picture
等信息。一旦他们填写这些信息并且他们点击注册,它就会被上传到数据库中。
是否可以根据数据库中的信息创建特定于该用户的个人资料页面?
例如,如果我注册了它从我的模板DavidBriertonProfile.cfm
创建Profile.cfm
并让它在数据库中添加DavidBriertonProfile.cfm
,那么我可以使用该名称稍后引用。但我是否可以获取我的模板Profile.cfm
并根据其名称对其进行重命名,并将其添加到profiles/(TherenameProfile).cfm
我一直在使用cffile来创建一个路径,但我需要它在幕后选择我的模板文件,用户从来没有看到过这个。
<cffile
action = "upload"
file = "#expandPath("/webapps/dash/profiles/profile.cfm")#"
destination = "#expandPath("/webapps/dash/profiles/")#"
nameConflict = "MakeUnique"
result = "myfile"
/>
答案 0 :(得分:1)
有两个主要选项
从coldfusion模板创建静态文件...
<cfsavecontent variable="filecontent">
<cfinclude template="profile.cfm" />
</cfsavecontent>
<cffile action="write" file="profiles/#FirstNameLastName#Profile.html" output="#filecontent#" />
<!--- it looks like the "nameconflict" option is only available for upload action so will have to deal with that --->
创建一个文件,仅用于设置用户ID并包括profile.cfm
<cffile action="write"
file="profiles/#FirstNameLastName#.cfm"
output="<cfset userid ='#UserID' /><cfinclude template='../profile.cfm' />"
/>
其他一些选项包括
保存您要创建的唯一cfm文件的名称(例如:DavidSmith12Profile)但不实际创建它,而是使用Application.cfc中的OnMissingTemplate函数获取提供的名称并执行数据库查找和然后显示个人资料结果
在Web服务器上执行URL重写,将任何请求转换为格式/profiles/(++)的路径到/profile.cfm?filename={\1},然后直接通过文件名进行数据库查找在profile.cfm
享受