Question

I built a form to submit data step by step. In between steps data is carried on from step 1 to step 2 and so on. That data is needed. 50% of the visitors access the form from different sites using an iframe.

Initially the data was stored in cookies. That worked in almost every browser, except iexplorer. I played for days with P3P but gave up. Nothing changed whatsoever. I then read that sessions didn't have this problem. So i changed the whole loginsystem to sessions.

Now I am testing the system and still every browser works using the form in an iframe, except ofcoarse Iexplorer.

Is there anything i can do?

Update: The server was in another timezone while it was located in my timezone. Changing the timezone was supposed to help, but didn't.

Was it helpful?

Solution

Took some time, but it's solved. Here we go:

  1. Sometimes the timezone is incorrect. If the difference is more than an hour, Iexplorer sessions will be destroyed inmidiatelly. You can change the timezone manually or ask your webhoster to do so. In PHP you can try: date_default_timezone_set(string $timezone_identifier)

  2. In addition to 1, sometimes it's impossible to stay within an hour. If so, you can change the session cache expire settings. In PHP it's <?php session_cache_expire(1440); ?>

  3. IE in iframes apparenty has an issue with underscores sometimes. When using underscores, IE rejects the cookie. So don't use them or make sure that IE doesn't store it's sessions that way.

  4. Use P3P (check if it's legally allowed and such!). In PHP you could use header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

That's all i tried and together they worked (not on their own).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top