我想访问我在另一个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
当然是变量为空的错误。
答案 0 :(得分:4)
你需要
在session_start()
在每个php脚本的顶部,否则会话变量在php文件中没有意义。
此外,由于您有
,因此您收到了无法修改标头错误以下是代码:
在标题之前发送到浏览器,在任何内容之前移动所有标题函数