1

別の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 

もちろん、変数が空であるというエラー。

4

1 に答える 1

5

あなたが必要

session_start()

そうしないと、セッション変数はphpファイル全体で意味がありません。

また、Cannot Modify ヘッダー エラーが発生しています。

コードは次のとおりです。

ヘッダーの前にブラウザーに送信されるため、すべてのヘッダー関数をコンテンツの前に移動します

于 2012-06-27T18:41:02.227 に答える