Por que minha matriz SESSION está boa em uma página, mas vazia em outra?

Eu tenho uma classe que define várias variáveis de sessão. Depois de definir a variável de sessão, faço um despejo var de SESSION e obtenho uma saída de todas elas. tudo de bom até agora. Então eu navego para outra página.

session_start(); // i call this right after opening the php tag
var_dump($_SESSION); // i call this after setting the variables

e está vazio desta vez?

Configurando minhas sessões

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
    {
           $_SESSION['atid'] = $row['autotaskid'];
           $_SESSION['bmsid'] = $row['bmsid'];
           $_SESSION['shavlikid'] = $row['shavlikid'];
           $_SESSION['cpid'] = $row['cpid'];
    }

Tentando usar as variáveis em outra página

$autotaskid = $_SESSION['atid'];
    $tsql = "SELECT COUNT(tblBackupArchive.StatusID) AS total, tblBackupArchive.StatusID ".
            "FROM tblBackupArchive INNER JOIN ".
            "tblBackup ON tblBackupArchive.BackupID = tblBackup.BackupID ".
            "GROUP BY tblBackupArchive.StatusID, tblBackup.ClientID ".
            "HAVING (tblBackup.ClientID = " . $autotaskid . ")";    

Resulta em

Undefined index: atid in C:\Program File...

Eu me certifiquei de emitir a start_session (); antes que qualquer outro código seja executado em todas as páginas que os usam.

Outro ponto importante: a página php que chama o método configurando as variáveis dentro de um iframe. quando abro a página em uma nova guia / janela, ela define as sessões corretamente. É quase como se a janela principal tivesse variáveis de sessão e, em seguida, cada iframe o mantivesse separado.

Alguma ideia?

Billy

questionAnswers(5)

yourAnswerToTheQuestion