Ieri ho avuto un problema simile nell'autenticazione degli utenti tramite login.
Un "forumista"?! mi ha dato questa dritta che mi ha risolto tutto a proposito dei register global.
il codice che mi dato è:
Codice PHP:
##############################
if (!ini_get('register_globals')) {
  
$superglobals = array($_SERVER$_ENV$_FILES$_COOKIE$_POST$_GET);
  if (isset(
$_SESSION)) {
      
array_unshift($superglobals$_SESSION);
   }
   foreach (
$superglobals as $superglobal) {
      
extract($superglobalEXTR_SKIP);
   }
}
############################## 
Forse messo all'inizio del codice mi aiuta.
Comunque adesso provo con quello che mi hai scritto.
A dopo