I've been given the not fun task of trying to marry a Zend framework instance to antique legacy code with out much modifying the legacy code. Part of this is a multipage form that takes in a heap of data, verifies it, processes it and then sends it to the websites owner in an e-mail. My job is to get that data into ZF where I can auto process it into a database. I cannot use POST. I'd rather like to avoid using an autosubmitting form as I don't think I'm supposed to be using Javascript. Get would be painfully unwieldy.
My hope was to get the data out of the existing form processor and into ZF using the Session. The data is already in the Session in the form processor. At first, I figured it'd be a simple matter of redirecting into my ZF instance (which exists inside a subdirectory of the main website). It's the same domain, ought to be the same session, right?
Well, something about the way ZF handles its sessions causes the old session data to be completely and utterly wiped out. Its just gone.
So does ZF handle its Session in such a way that it wipes out the existing session or is this a fluke? If this isn't a fluke, how can I bypass it? And if it is, what might be causing it/how can I fix it?
Edit
I am using Zend_Session_SaveHandler_DbTable for database backed sessions. This is initialized in the application.ini
. Here is the initializing code:
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
resources.session.saveHandler.options.name = "Sessions"
resources.session.saveHandler.options.primary = "sessionID"
resources.session.saveHandler.options.modifiedColumn = "lastModifiedTime"
resources.session.saveHandler.options.dataColumn = "data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"
Where I am using the session, I have tried calling session_start()
, but that creates an error. Probably because the save handler code has already initialized the session, or does so later. If I try to access the $_SESSION
variable directly, I can an error indicating I attempted to access an unset variable. If I create a Zend_Session_Namespace
first and then attempt to access $_SESSION
, I am faced with an empty session.