从另一个php文件访问SESSION变量

时间:2012-06-27 18:35:46

标签: php session session-variables

我想访问我在另一个php文件中声明的会话变量。

我该怎么做?

这就是我所做的。

test.php的

$_SESSION['SESS_VERSION'] = $member['Version'];
session_write_close();
header('location: '.$_SESSION['SESS_VERSION']);

此会话变量正常,我已正确重定向到另一个页面。

在该页面上例如:

test2.php

我从javascript调用php脚本给我一个JSON格式化数据。

我在test3.php脚本中尝试做的是从test.php访问会话变量

以下是代码:

<?php
header("Content-type: application/json; charset=UTF-8");

echo '{ "results" : [ ';

$result = dbMySql::Exec("SELECT 
    m.data1
    v.data2,
    k.data3
FROM {$_SESSION['SESS_MAIN_BASE']} m, {$_SESSION['SESS_SECOND_BASE']} v, {$_SESSION['SESS_THIRD_BASE']} k");
$result_array = array();
?>

为什么我无法访问此php页面上的任何会话变量?也许我的语法不正确。但这是我得到的错误:

Warning: Cannot modify header information - headers already sent 

当然是变量为空的错误。

1 个答案:

答案 0 :(得分:4)

你需要

  

在session_start()

在每个php脚本的顶部,否则会话变量在php文件中没有意义。

此外,由于您有

,因此您收到了无法修改标头错误
  

以下是代码:

在标题之前发送到浏览器,在任何内容之前移动所有标题函数