Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: question about CL-HTTP: msg#00007

Subject: Re: question about CL-HTTP
At 8:30 AM -0800 1/27/04, Thomas Russ wrote:
>On Jan 27, 2004, at 2:48 AM, Cristina Gema Muñoz Maya wrote:
>
>>Hello!!
>>
>>       I'm doing an application (Criminal law Course) in CL-HTTP under 
>> LispWork of Harlequin, but i've a problem. I'm going to show you part of the 
>> code. I 've a html page, siidepe.html
>>...........
>><FORM ACTION="curso.html" METHOD="POST">
>>user<INPUT TYPE="text" NAME="NOMBRE" SIZE="10" VALUE="">
>>password<INPUT TYPE="passwd" NAME="NOMBRE" SIZE="10" VALUE="">
>>......
>>
>>
>>        And when i submitted this form, the response function read from a 
>> file which contain information of the user that do the course (the last page 
>> visited, what they know about each topic,the pages that are known for them), 
>> and this information is saved in global variables 
>> (usuario,clave,pagnum,pagin,tema1,..).And i think this don't work when there 
>> are 2 o more users using the course. So, can you advice me how can i do what 
>> i want?.
>
>As you have noted, you can't really use global variables to hold this 
>information, since even with a single thread, the interactions of multiple 
>users can be interleaved.  What you need to do instead is to make sure you can 
>associate a particular user with the various sessions.  Then, you will need to 
>store a table, probably using hash-tables, which links the user name to the 
>information you want to keep persistent across HTTP accesses.
>
>I think the simplest way to do this is to use the basic authentication 
>services that are provided by CL-HTTP.  Then you can get the user associated 
>with each request and use that as an index into the global table that keeps 
>your state information.

Or, you can hang information for a user off the user-object property list, 
which is
easily accessed in the response function (user-object *server*). This 
eliminates hashing into another data-structure. Or, you can mix your own class 
into the user class ....



<Prev in Thread] Current Thread [Next in Thread>