Hi guys, recently i am so busy and not able to update my website often.
But today, I face a problem on the PHP session while using iframe to include a custom php file.
The custom php file just doing some select/update command using session data.
I try my script in Google Chrome & Mozilla Firefox, everything is working fine but not Internet Explorer.
The data inside the session is not retrievable and causing the entitle script not working.
Below is my sample script
<?php session_start(); //echo session_id(); //PRINT OUT THE SESSION ID if(!isset($_SESSION['mydata']) && $_POST['action'] == 'update') die("unable to get mydata"); $_SESSION['mydata'] = 'ANYTHING'; //PERFORM SELECT/UPDATE ?> |
Above just a simple sample, if you using wordpress/joomla (php applications) and iframe the custom page and using Internet Explorer to retrieve and update it. The page should display “unable to get mydata” but not perform the update statement.
After debug for sometime, I try to print out the session_id() and found that everything the iframe page refresh, it will generate another new session_id but not use the previous id (This act differently with Firefox and Chrome) and this is the main issue causing my script is not working.
Then I google a bit and find the solution below.
What you need to do it just add in a single line command into your custom php page.
<?php header('P3P: CP="CAO PSA OUR"'); //ADD IN THIS LINE IN ORDER TO SOLVE THE INTERNET EXPLORER ALWAYS GET NEW SESSION ISSUE session_start(); //echo session_id(); //PRINT OUT THE SESSION ID if(!isset($_SESSION['mydata']) && $_POST['action'] == 'update') die("unable to get mydata"); $_SESSION['mydata'] = 'ANYTHING'; //PERFORM SELECT/UPDATE ?> |
- » wp to twitter error
- » retrieve visitor country information
- » PHP send email request read receipt
- » customize SugarCRM out-of-box module field(s)
- » PHP generate calendar file (ics)
















September 30th, 2009 at 8:55 pm
You should use sessions and database instead.
October 9th, 2009 at 3:03 am
This header saved my life, rarely had this problem, but in the last two times I could not solve it.
Now, finally resolved.
Excellent post.
October 9th, 2009 at 9:55 am
Thanks…
The header save my life as well
Cheer~~!
January 24th, 2010 at 10:37 pm
Спасибо, проблема решилась =)
March 4th, 2010 at 5:39 pm
Good solution, thanks
Unfortunately it doesn’t work in FF (3.5.8) under Windows 2003 Server, but under Win XP or Vista it does.
March 22nd, 2010 at 7:38 pm
Hi Tomek,
I found no problem by using FF 3.0.X….
You face the problem on FF 3.5.8?
May 7th, 2010 at 3:38 pm
Thanks a lot………..
This is a really useful solution.saved me a lot of work …
August 31st, 2010 at 10:47 pm
I was trying to solve the same problem for a while.
Thanks a lot.