我有一个设置各种会话变量的类.在设置会话变量后,我执行了一个SESSION的var转储并获得它们的输出.到目前为止都很好.然后我导航到另一个页面.
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保持独立.
有任何想法吗?
比利