0

セッションについて助けが必要です。何が問題なのかわかりません。

ページ1

    <?php session_start()?>
    <html>
      <head>
      </head>
        <body>
          <?php
            $_SESSION['name'] = 'John';
            Print_r ($_SESSION);
          ?>
        </body>
    </html>

ページ2

    <?php session_start()?>
    <html>
      <head>
      </head>
        <body>
          <?php  
           Print_r ($_SESSION);
          ?>
        </body>
    </html>

ページ 1 結果配列 ( [name] => John )

ページ 2 結果配列 ( )

私は session_start(); を持っていました。両方のページで
IE と Firefox を試しましたが、うまく
いきませんでした アドバイスをお願いします :)

4

3 に答える 3

1

lanzz で述べられているようsession_start()に、両方のページを呼び出すか、 yout でsession.auto_startを 1 に設定する必要がありますphp.ini

編集後

PHP の開始タグ ( <?php) の前にいくつかのスペースがあるようです。最初に評価されなければなりません。そうでない場合、セッション データを含むヘッダーを送信できないため、ヘッダーは機能しません。警告を発するはずなので、おそらくそれらを無効にしています。これを修正するには、次のようにコードを記述します。

<?php session_start()?>
<html>
  <head>
  </head>
    <body>
      <?php
        $_SESSION['name'] = 'John';
        Print_r ($_SESSION);
      ?>
    </body>
</html>

それでも機能しない場合は、ファイルが UTF-8になっている可能性があります。BOM を使用する場合は、 BOMを無効にする必要があります。やり方は編集者次第。

于 2012-06-05T08:50:48.737 に答える
0
  1. 試してみてください<?php print_r($_COOKIE);?>PHPSESSIDクッキーがあることを確認してください。
  2. <?php echo phpinfo(); ?>session.save_pathそして、apacheユーザーが書き込み可能であることを確認してください。

アップデート:

ブラウザが必要なCookieを渡さなかったのは明らかなようです。session.namephpinfoがそうであるかどうかを再確認できますかPHPSESSID

ディレクトリが書き込み可能かどうかを確認するには、以下のスクリプトを使用してphpファイルを実行するだけです。

<?php
    $fp = fopen('D:\xampp\tmp\test.txt', 'w');
    fwrite($fp, 'test');
    fclose($fp);
?>
于 2012-06-05T08:58:22.900 に答える
0

session_start()すべてのページの上で呼び出す必要があります

于 2012-06-05T08:53:38.997 に答える