Session Data not retrieved

tshirley 11 Mar, 2020
Hello,

I have several forms in CF6 that use session save and retrieve, usually because of using a payment gateway. I need to store session data, go and take a payment, and then return to the form and retrieve the previously entered data.

So these forms have been working without modification for a long time (months) but suddenly all of them have stopped retrieving the session data.

We are using Joomla 3.5.1, PHP 7.2, CF 6.1.4.

I have tried both the classic and new (DataBuilder2) save session actions, with the correct session name "ss_eway" and I am retrieving the data with

// reload session data

$sessiondata = \GApp::session()->get("ss_eway", "");

$this->data['se'] = $sessiondata;

This worked for many months until about 2 days ago and I can't see any change that would cause the problem. In fact, no change at all that I know about. It affects every CF6 form that uses session save/retrieve logic.

Does anyone have suggestions about what may have happened, or how to debug the problem?

Thank you

Tim
healyhatman 11 Mar, 2020
So if you save to session, and then read from session straight after, does it still work? And do you have any GDPR plugins or anything like that?
tshirley 11 Mar, 2020
Thanks HealyHatMan

There are no plugins, as I have always tried to keep this subdomain entirely for Chronoforms. I'm in Australia so GDPR isn't relevant at the moment.

OK, since your reply:

I created a new demo Contact form, put in a Databuilder and read it back immediately in the form using the code in my first post.

This worked.

So then I created a second form with only the readback code, as above, and added a redirect to it in the first form, with no other changes. This second form didn't retrieve the session data.

Then I went back and in the first form put a stopper before the redirect. This then retrieved the session data.

Then I tried reinstalling CF6 V6.1.4. No change.

I'm puzzled because this is a working system that has suddenly stopped working for no obvious reason. I am suspecting the hosting company has done something I don't know about. My webmaster has made no changes to the underlying site.

Cheers

Tim
GreyHead 12 Mar, 2020
Hi Tim,

I suggest that for payment data info you save the data to a database table with a status column 'unpaid' and include a record identifier e.g. an 'invoice number' in the data sent to the gateway. Then on return you can recover the data and update the status accordingly.

Bob
tshirley 12 Mar, 2020
Hi Bob,

Thanks, yes that is a good workaround and I will use it.

Still a bit puzzled as to why this has happened. All going well till a couple of days ago.

Cheers

Tim
tshirley 13 Mar, 2020
OK, more info.

If I use Chrome or Edge, the session data retrieve works. If I use Firefox, it doesn't. Firefox is my default browser and I had not thought to test others.

So looks like there are settings in Firefox by default which prevents the session being retrieved. I will follow that line.

I suppose there may still be a Chronoforms connection but more likely it is Firefox.

Cheers

Tim
This topic is locked and no more replies can be posted.