Hello all,
I'm having a weird problem. I've crated a user.cfc that manages all my user
information. When the object is created I put all relevant information into
the variables scope like:
<cfset variables.instance = StructNew()>
<cfset variables.instance.login = "">
<cfset variables.intance.password = "">
Then I have crud operations to populate the variables:
<cffunction name="getLogin" access="public">
<cfreturn variables.instance.login>
</cffunction>
<cffunction name="setLogin" access="public">
<cfargument name="login" required="yes" type="string">
<cfset variables.instance.login = trim(arguments.login)>
<cfreturn true>
</cffunction>
All of this works as expected when I create a new user object. If I set the
login with user.setLogin("test"), I can call user.getLogin(), and it returns
the value that I stored via setLogin().
My problem comes when I try to write this to the database. I've got a
createUser function that does an insert statement, and when I force it to
error, the generated SQL is correct, I can run it in query analyzer and it
inserts correctly, but when I run the function, some functions are inserting
the correct data, while anything with a string is not. I also created a
checkUser() function to ensure that the functions are not being returned
empty. Below is my createUser function:
<cffunction name="createUser" access="public" output="false">
<cfif checkUser()>
<cfquery name="createUser" datasource="#userDSN#">
INSERT INTO users (login,
password,
first_name,
last_name,
date_expires,
date_created,
created_by,
updated_by)
VALUES ('#getLogin()#',
'#getPassword()#',
'#getFirstName()#',
'#getLastName()#',
<cfif getDateExpires() eq
"">NULL<cfelse>#getDateExpires()#</cfif>,
#getDateCreated()#,
#getCreatedBy()#,
#getUpdatedBy()#
)
</cfquery>
<cfelse>
<cfthrow type="site" message="User was not set up properly
prior to creation" detail="User must have a valid login, password, first
name, and last name assigned prior to creation">
</cfif>
</cffunction>
When I run this query, the login, password, first_name, and last_name are
inserted as empty strings. If I change for example getLogin() to
variables.instance.login it will insert correctly, and all this function
does is return the exact same thing. Anyone have any ideas whats going on
here?
Rich Kroll
Application Developer
SITE Manageware, Inc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble
Ticket application
http://www.houseoffusion.com/banners/view.cfm?bannerid=48
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:224665
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54