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

标签 php session session-variables

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

我该怎么做?

这是我做的。

测试.php

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

这个 session 变量正在工作,我被正确地重定向到另一个页面。

例如在那个页面上:

test2.php

我正在从 javascript 调用一个 php 脚本来返回一个 JSON 格式的数据。

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

代码如下:

<?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 页面上的任何 session 变量?也许我的语法不正确。但这是我得到的错误:

Warning: Cannot modify header information - headers already sent 

当然还有变量为空的错误。

最佳答案

你需要

session_start()

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

你也得到了 Cannot Modify header 错误,因为你有

Here's the code:

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

关于php - 从另一个 php 文件访问 SESSION 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232848/

相关文章:

asp.net - 从 iis6 移至 7.5 asp.net session 超时

以全局变量为数据源的 PHP session 副作用警告

php - 使用 PHP 将 session 变量添加到 MYSQL 查询中

javascript - 如何在浏览器上点击后退按钮和页面刷新后重新更新查询

java - 从 PHP 到 C/C++ & Java 及其他

php - Laravel 如何在特定页面显示后清除 session

php - PDO-MySQL : Boolean values get converted to 1 or empty string on prepared statement binding

php - Codeigniter 无法删除 cookie

php - 在 woocommerce 结账时添加自定义税值

php - 如何在 laravel 中获取多对多的关系项