0

私はphpプロジェクトに取り組んでいます。私はセッション変数を使用しています。

この問題をテストするために 2 つのファイルを作成しました。

Test1 ファイルでは、session.below に値を設定しました。コードは次のとおりです。

<?php
session_start();
$_SESSION['test']="demo";
?>

test2 ファイルで、このセッションを印刷しました。

<?php
session_start();
echo $_SESSION['test'];
?>

セッション値はtest2ファイルでは空白で表示されますが、セッションが設定されているtest1ファイルでは値が表示されます.どのセッション値が他のページに持ち越されません.これはlocalhostでは完全に機能しますが、サーバーでは機能しません.サーバーに問題はありますか? サーバーセッションの詳細画像を添付しました。ここに画像の説明を入力

4

3 に答える 3

1

どのセッションを追跡する必要があるかを PHP に「指示」しようとしましたか?

例: セッション ID 変数が $_GET['session']; で渡された場合。

session_start() を実行する前に、次を実行します。

session_id($_GET['session']);

編集

これを試して:

<?php
if( $_GET['SID'] != '' ) session_id($_GET['SID']);
session_start();
$sid = session_id();
print '<script>window.location = window.location + "&SID="' . $sid . '</script>';
?>
于 2012-11-29T14:26:02.273 に答える
1

セッションの保存パスが Web サーバーによって書き込み可能かどうかを確認します。

Cookie がオンになっていることを確認してください.. (何かをテストするために Cookie をオフにしたことを忘れてしまいます)

firebug 拡張機能で firefox を使用して、Cookie が設定され、返送されているかどうかを確認します。

于 2012-11-29T14:35:20.900 に答える
0

これは過去に私に起こりました。session_start() の前にブラウザに何も出力されていないことを確認する必要があります。<?phpこれは明らかなように思えますが、ファイルの先頭 (開始タグの前) に先頭の空白文字がある場合があります。または、別の可能性として、テキスト エディタ/エンコーディングを使用して、<?php session_start();

もちろん、他の可能性もあると思いますが、これは以前に私に起こったことです.

于 2012-11-29T14:26:49.317 に答える