I'm not sure if anyone is following my replies to self, but just in
case...
I have a workaround, but I don't understand it.
There were multiple problems.
First, I had to call wfSetupSession if the session wasn't already
established. That makes sense to me. I think that accounts for the
situation where the session variable wasn't there at all.
Second, the part that doesn't make sense to me:
In Firefox, the session would get written on the first load, but then
it wouldn't get updated. To update the session variable, I have to
reload the page, via a url that has a session variable in it. I'm
doing this via a line that reloads the page once.
$ff = trim($wgRequest->getText('ff')); #echo "ff:$ff";
if($this->act['view'] == '' && $ff == '')
header("Location:".$this-
url."&ff=loaded&view=".$_SESSION['TableEditView']);
$this->url = $wgServer.$wgScriptPath."/index.php?
title=Special:TableEdit&pagename=$this->page_name&id=".$this-
box_req['box_id']."&page=".$this->box_req['page_uid'];
$_SESSION['TableEditView'] is a session global that I set at the end
of the execute method in my special page. What is very, very weird to
me is that
1) There has to be a session variable in the URL
2) It can't just be $_SESSION['foo']
3) This doesn't work if I put the same session variable in the input
hidden via POST
I don't like this solution, but it works, at least as far as I've
tested it. I'd be happier if I understood why it works.
Wrt the original problem ... why only in Firefox?
During my exploring the problem, I found various things that are could
be related, including:
http://www.php.net/manual/en/function.session-cache-limiter.php
"In private mode, the Expire header sent to the client may cause
confusion for some browsers, including Mozilla. You can avoid this
problem by using private_no_expire mode. The expire header is never
sent to the client in this mode."
But changing this in GlobalFunctions doesn't fix the problem.
JH
On May 24, 2008, at 4:26 PM, Jim Hu wrote:
It gets weirder ...
Today, Firefox doesn't set the SESSION at all - instead of testing
testing, I get nothing.
I wonder if it depends on where I'm connecting from: home = cable
modem & wifi, work = direct.
JH
On May 23, 2008, at 10:13 AM, Jim Hu wrote:
Not solved, but here's some more information.
In my function
execute(), I added:
$output .= $_SESSION['TableEditTesting'];
$_SESSION['TableEditTesting'] .= "testing\n";
In Safari clicking an action button -> testing
In Firefox(Mac) clicking an action button -> testing testing
Weird. I'm not sure that this actually explains the problem.
JH
On May 21, 2008, at 11:12 PM, Jim Hu wrote:
I'm working on a revamping of my TableEdit
extension, and I'm stuck
on
a weird problem with $_SESSION and Firefox (mac). It looks like the
session superglobal isn't being updated properly...using print_r to
examine $_SERVER shows the right values at the end of one the
script,
but it's as if it's not really being saved to the session, and older
information is being used when the next pageload happens. ... but
the
code works in Safari. The problem is reproducible on a two
different
computers - my server and my laptop (both macs).
I'm stuck... any suggestions on what I should be looking at? I had
sessions working with Firefox in other code and don't know what I'm
doing differently... and I really don't understand why this should
be
browser dependent.
MW 1.12
php 5.24 and 5.25
=====================================
Jim Hu
Associate Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
=====================================
Jim Hu
Associate Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
=====================================
Jim Hu
Associate Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
=====================================
Jim Hu
Associate Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054