Jeff, 
I have a separate table (Students).   This is the parent table for other
tables that the student may or may not have to fill out.  After the
student logs in they have to fill out a registration form (Students
table).  I want to ensure that their userID gets inserted into the
students table and that every form they may (or may not) fill in from
there gets their studentID as foreign key.  Things are looking a little
muddy here.  

Respectfully,
Dan Nall

-----Original Message-----
From: Jeff Fleitz [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, February 22, 2005 3:19 PM
To: [email protected]
Subject: Re: [plum] Table relationship (or putting stuff where it
belongs)

Hi Dan,

Do you have to have a separate table, or can you make the PlumUser and
Student tables synonymous, and just extend the 
PlumUser table to handle your extra requirements? Then you always know
the user that logged in is the student.  You can 
still deal with several other forms, by having those extra fields accept
nulls during registration and then fill them 
out later with your other forms. Smoke and mirrors ;)

Another option is to create a session user or student structure at login
and store the userid to the 
session.student.studentid, for instance.  I have done this by modifying
the security.cfc to initialize the session 
structure (user in this case) if the userQuery returns a row (valid
user).  I use this structure to store all kinds of 
info, like how many rows they want to display in a list, as opposed to
having it hardcoded.


See the code at about line 56.



<cfif userQuery.RecordCount NEQ 1>
        <cfif Application.persistentScope EQ "Session">
                <cfset Session.email = Arguments.Email>
                <cfset Session.password = Arguments.Password>
        <cfelse>
                <cfset Client.email = Arguments.Email>
                <cfset Client.password = Arguments.Password>
        </cfif>
        <cfif Application.allowUsersToCreateTheirOwnProfiles>
                <cfthrow type="Authenticate.UserNotFound"
                        message="You are not in our system."
                        errorcode="66010">
        <cfelse>
                <cfthrow
type="Authenticate.UserNotAllowedToCreateProfile"
                        message="That email address is not in our
system. Please try a different address."
                        errorcode="66020">
        </cfif>
<cfelse>
        <!--- JAF: 10/17/04; add session variables to track user --->
        <cfset Session.user = StructNew()>
        <cfscript>
                Session.user.userID = userQuery.UserID;
                Session.user.accessLevel = userQuery.AccessLevel;
                Session.user.lastLogin = userQuery.LastLogin;
                Session.user.timesLoggedIn = userQuery.TimesLoggedIn +1;
                Session.user.rowsPerPage = userQuery.RowsPerPage;
                Session.user.displayIcons = userQuery.DisplayIcons;
        </cfscript>
        <!--- JAF: 10/17/04; update login statistics --->

        <cfinvoke
                component="#Application.Security#"
                method="UpdateUserStats"
                userID=#userQuery.userid#
                timesloggedin = #Session.user.timesLoggedIn#>
</cfif>



HTH,

Jeff



Nall Daniel A GS-09 336 TRSS/TSUD wrote:
>  My site has several forms for users to fill out. The main table 
> (Students) has studentID as its primary key and UserID (PlumUser
table) 
> as its foreign key.  How do I ensure that the Students form gets the 
> correct UserID inserted and the following forms (which have studentID
as 
> their foreign keys) get the correct studentID inserted?  Users 
> (students) must be logged in to fill out these forms.
> 
>  
> 
> Respectfully,
> 
> Dan Nall
> 

**********************************************************************
You can subscribe to and unsubscribe from lists, and you can change
your subscriptions between normal and digest modes here:

http://www.productivityenhancement.com/support/DiscussionListsForm.cfm
**********************************************************************

**********************************************************************
You can subscribe to and unsubscribe from lists, and you can change
your subscriptions between normal and digest modes here:

http://www.productivityenhancement.com/support/DiscussionListsForm.cfm
**********************************************************************

Reply via email to