Warum ist mein SESSION-Array auf einer Seite in Ordnung, auf einer anderen leer?
Ich habe eine Klasse, die verschiedene Sitzungsvariablen setzt. Nachdem ich die Sitzungsvariable gesetzt habe, führe ich einen var-Dump von SESSION durch und erhalte eine Ausgabe von allen. soweit alles gut Dann navigiere ich zu einer anderen Seite.
session_start(); // i call this right after opening the php tag
var_dump($_SESSION); // i call this after setting the variables
und es ist diesmal leer?
Einstellen meiner Sitzungen
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'];
}
Versuchen, die Variablen auf einer anderen Seite zu verwenden
$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 . ")";
Ergebnisse in
Undefined index: atid in C:\Program File...
Ich habe sichergestellt, dass ich die start_session () ausstelle. Funktion, bevor auf jeder Seite, die sie verwendet, ein anderer Code ausgeführt wird.
Ein weiterer wichtiger Punkt: Die PHP-Seite, die die Methode aufruft, mit der die Variablen in einem iframe gesetzt werden. Wenn ich die Seite in einem neuen Tab / Fenster öffne, werden die Sitzungen korrekt eingestellt. Es ist fast so, als hätte das Hauptfenster Sitzungsvariablen, und dann wird jeder Iframe separat verwaltet.
Irgendwelche Ideen
Billy