3
votes

I have a members area that when logged into a session variable called "userid" is created. It works across all of the pages correctly. I have an application.cfm file with sessionmanagement turned on.

The problem is that I have a flash video recorder that shows up in a new window that posts to a file named save.cfm. Once I click save on the flash recorder, it posts to save.cfm and I get the error. They are all on the same domain so I don't understand why I'm getting a 500 Element USERID is undefined in SESSION error. The form has nothing to do with that value, the value is being picked up by session.

1
Are all the pages in the same directory with application.cfm? Also what version of CF are you using? - Ciaran Archer
what's the "flash video recorder"? Is it this: flashvideorecorder.com - orangepips
@orangepips, it's a player/recorder that comes with the "Red5" server is what work tells me... - The Muffin Man
This seems to be the tool: trac.red5.org/wiki/Tools/FLVRecorder - orangepips

1 Answers

6
votes

I suspect the flash player is not sending the cfid/cftoken cookies, and therefore the CF App server is unable to determine which session this traffic belongs to, and therefore unable to load the session variable.

To confirm this, log the contents of the cookie struct on the save.cfm page when you post to it. Or, even better, use a packet sniffer/proxy to watch the traffic.

You may have to expressly include the session tokens in the url you're posting to by adding session.urltoken to the url.

So, when you configure the destination for the video recorder's post (assuming its generated by CF), instead of using

save.cfm

use

save.cfm?#urlEncodedFormat(session.urltoken)#

More info from Ray Camden on a similar issue with flash posting