У меня есть класс, который устанавливает различные переменные сеанса. После того, как я установил переменную сеанса, я делаю дамп var SESSION и получаю вывод их всех. пока все хорошо. Затем я перехожу на другую страницу.
session_start(); // i call this right after opening the php tag
var_dump($_SESSION); // i call this after setting the variables
а на этот раз пусто?
Настройка моих сессий
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'];
}
Попытка использовать переменные на другой странице
$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 . ")";
Результаты в
Undefined index: atid in C:\Program File...
Я удостоверился, что я запускаю start_session (); Функция перед выполнением любого другого кода на каждой странице, которая их использует.
Еще один важный момент : страница php, которая вызывает метод, устанавливающий переменные внутри iframe. когда я открываю страницу в новой вкладке / окне, она устанавливает сессии правильно. Это похоже на то, что в главном окне есть переменные сеанса, а затем каждый iframe сохраняет его отдельно.
Есть идеи?
Билли