1

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

我怎样才能做到这一点?

这就是我所做的。

测试.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 

当然,变量为空的错误。

4

1 回答 1

5

你需要

session_start()

在每个 php 脚本的顶部,否则 session 变量在 php 文件中毫无意义。

Also you are getting the Cannot Modify header error because you have

Here's the code:

being sent to the browser before the headers, move all header functions before any content

于 2012-06-27T18:41:02.227 回答