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