DeadManWalking
DeadManWalking

Reputation: 237

are cookies the only way of storing session variables?

I want to store a user setting(language). so i can get the corresponding resources when the page loads. I figured cookies would be the way to go, but it's just not an option, too difficult since i have tried and tried without success.

After 2 days i want to give up on cookies and see if there is another way I can achieve the same goal

i've read this article http://msdn.microsoft.com/en-us/library/ms178581.aspx but im not sure if I can achieve what I want using that.

What alternatives for cookies could i use in my situation?

Upvotes: 0

Views: 1346

Answers (2)

David Hoerster
David Hoerster

Reputation: 28701

An other alternative to using cookies to keep a session ID is to use cookie-less session management, which is mentioned in the article that you linked to. A cookie won't be kept on the client machine with the session identifier -- instead, it will be in the query string. It's definitely an "uglier" solution, but it's one of the few options you have. You can either keep a cookie that's sent up with each request, or stick something on the query string to identify the request.

Either way, you need some way for your server to pick up the identifier and retrieve your session data -- whether it's getting the ID from a known cookie or a known query string value.

I mean, there are probably other ways -- keeping a hidden value on each and every page, but I think that just gets even "uglier". You want to keep that information out of the page/information that you're rendering.

Upvotes: 3

Joel Etherton
Joel Etherton

Reputation: 37533

Depending on the level of persistence you're looking for, there are a couple of other ways you can do this. The first is to use session to hold these settings. However, if you use session the settings will only live as long as the session does. If your website has some kind of authentication interface, you can store the settings in a database relative to the username used for authentication. If you don't have authentication involved and simply want to remember that the user came with a particular computer/device, you can achieve the same result by footprinting the system (not trivial) and storing that footprint in the database related to any settings it would encounter.

If those options are not available to you, then cookie will be your only remaining alternative.

Upvotes: 3

Related Questions