Hey everyone,
Anyone that read my recent posts "CFCOOKIE and the old switcheroo".
I am still looking for any other suggestion before I revert to using
sessions instead of cookies. The basic problem is that I have a multiple
user environment, a class room of students, each log in to take the test:
Page1:
<cfform action="repreverification.cfm" method=post>
<cfoutput>
<p> <br>
<table width="75%" border="0">
<tr>
<td width="50%">Welcome Back #cookie.repname#:</td>
<td width="50%">
<input type="hidden" name="RepName" value='#cookie.repname#'>
</td>
</tr>
<tr>
<td width="50%" align="right">ID:</td>
<td width="50%">
<CFinput type=text name="RepID" maxlength="5" message="Your ID must
be 5 digits in length" size=20 required="Yes"> <b>(First 5 digits of
SSN.)</b>
</td>
</tr>
</table>
If you are not #cookie.repname# <a href="./logon.cfm?track=yes">Click
here</a>
<p><br>
<input type="submit" name="Submit" value="Submit">
</cfoutput>
</cfform>
That is submitted through the form action to repverification which builds
the cookies.
<cfoutput>
<cfparam name="value1" default="">
<cfparam name="counter" default="">
<cfparam name="increment" default="0">
<cfparam name="cookvalue" default="">
<cfset counter = '1'>
<cfset cookvalue = '#form.repname#'>
</cfoutput>
<!--- removes single and double quotes from entry --->
<cfloop condition="counter lt len(FORM.repname)+1">
<CFOUTPUT>
<cfset value1='#counter#'>
<cfif '#mid(form.repname,value1,1)#' EQ CHR(34) OR
'#mid(form.repname,value1,1)#' EQ CHR(39)>
<cfset cookvalue='#removechars(cookvalue,value1-increment,1)#'>
<cfset increment = '#increment#' + 1>
</cfif>
</CFOUTPUT>
<Cfset Counter = counter + 1>
</cfloop>
<!--- cookies --->
<cfif isnumeric(form.repid) is 'yes' and len(form.repid) EQ 5>
<cfapplication name="PerfTrack"sessionmanagement="Yes">
<cfcookie name="repname" expires="NOW">
<cfcookie name="cfid" expires="NOW">
<cfcookie name="cftoken" expires="NOW">
<cfcookie name="repid" expires="NOW">
<cflock name="repvars"
timeout="60"
throwontimeout="Yes"
type="EXCLUSIVE">
<CFCOOKIE NAME="CFID" VALUE="#SESSION.CFID#">
<CFCOOKIE NAME="CFTOKEN" VALUE="#SESSION.CFTOKEN#">
<CFcookie NAME="repname"
VALUE="#cookvalue#"
EXPIRES="2" >
<CFcookie NAME="repid"
VALUE="#form.repid#"
EXPIRES="2" >
</cflock>
<meta http-equiv="refresh" content=".1; URL=nhrepmenu.cfm">
<cfabort>
<cfelse>
The information you have provided as your ID is not numeric or does not
contain 5 digits, please click back and enter the first 5 digits of your
social security number.
</cfif>
Lastly the repmenu is pulled up.
<cfquery name="blah" datasource="ncc" blockfactor="50">
select #variables.mastertableansw#.fldname,
#variables.mastertableansw#.fldid, #variables.mastertableansw#.testnumber,
max(#variables.mastertableansw#.questionnumber) as maxquest,
max(#variables.mastertable#.questnum) as maxq
from #variables.mastertableansw#, #variables.mastertable#
where fldname = '#cookie.repname#'
and fldid = '#cookie.repid#'
and #variables.mastertableansw#.testnumber =
#variables.mastertable#.testnumber
group by #variables.mastertableansw#.fldname,
#variables.mastertableansw#.fldid, #variables.mastertableansw#.testnumber
</cfquery>
<cfoutput>
<cfif #blah.fldname# is ''>
<cfparam name="newmark" default="">
<cfset newmark = 'x'>
<div align="center"><b>Our records indicate that you are a first time user.
Please select from the following tests.</b></div>
<cfelse><!-- this is the if that carries question and test number -->
<b>Welcome Back #cookie.repname# your ID is #cookie.repid#
#cookie.cftoken#</b>
</cfif>
</cfoutput>
The problem is that reps 1 - 20 all log in. Some reps get to the menu page
and get they're own information display...I.E. Rep 5 logs in and gets:
"Welcome back rep5,"
But many of the reps get someone elses info
Rep 2 logs in and gets: "Welcome back rep 3"
Rep 1 gets rep5
rep 7 gets rep 3 as well. etc.
If anyone has ANY suggestions I would certianly appreciate it. I have 12
call centers full of trainees all waiting to take their tests. I'm starting
to feel sorry that I ever switched to cookies from session vars.
Bryan Langford
Analyst
National Customer Operations
Enterprise Services & Strategic Planning
Training Development and Design Team.
Bryan Langford
Analyst
National Customer Operations
Enterprise Services & Strategic Planning
Training Development and Design Team.
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get the mailserver that powers this list at http://www.coolfusion.com
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists