Yeah thanx, I implemented error_reporting(E_ALL) and I even took out '@' and everything else, to no avail.
I was able to, by crude debug techniques (i.e., lots of echo statements) narrow down the problem to
session_start();
For some reason, it'll break on that line, but if you refresh your browser it'll then be just fine and $SESSION exists. Sometimes $SESSION exists anyway, sometimes it doesn't, literally on the same page.
Like you'll go to index.php and it breaks on session_start(), refresh your browser and it's fine.
Then you'll click somewhere else, then close your browser, re-open it, go to index.php and it's fine, refresh 2 or 3 times it's fine and then one other random time it breaks again, on session_start();
My conclusion is that session_start() is randomly breaking.
Phil