2016-09-18 13 views
0

PHP session dataは特定のWebページまたはPHPファイルに関連付けられていますか?言い換えれば、セッションがfoo.phpで作成されている場合、セッションデータはbar.phpからアクセス可能で、他のものと両方の参照がWebブラウザから直接アクセスされないと仮定します。PHPセッションが特定のファイルに関連付けられています

ファイル固有の場合、これはどのようにinclude()で動作しますか?たとえば、foo.phpがセッションを作成した場合、bar.phpが含まれ、bar.phpのセッションデータにコードを含めることができますか?セッションがbar.phpで作成されたらどうですか?データはbar.phpまたはfoo.phpに固有のものでしょうか?

+1

'sessions'を新しいセッションを開くためにsession_closeといくつかの他のものを行うことができますが開始されている各' HTTP request'にアクセスできます。 'session_start'とのセッション。あなたが入っているファイルとは関係ありません – DarkBee

+0

http://stackoverflow.com/questions/576535/cookie-path-and-its-accessibility-to-subfolder-pages – JOUM

+0

@JOUM PHPセッションはクッキーにのみ関連付けられていますCookieの_and_ファイルやURLではなく、識別に使用されるURLパラメータ(またはURLパラメータ) – laef

答えて

2

はい、セッションデータは、さまざまなファイルと要求で利用できます。セッションデータは、HTTPプロトコルのない状態を提供するためのセッション全体のポイントです。あなたのfoo.phpがセッションを開始し、bar.phpを含み、bar.php内のコードが実際にセッションにアクセスすることができます場合は、。

に限定されたデータを格納するためにあなたのコードのためのWebサーバー上の小さなストレージとしてセッション時に見ることができます。 bar.phpsession_start()を実行している場合は、foo.phpはその後からセッションにアクセスできます(include()の後)。

覚えておいてください:セッションは、特定のブラウザに固有であり、揮発性です。私は:ブラウザを閉じると、セッションは非アクティブになり、アクセス不能になり、期限が切れる(通常30分後)。

注:現代のブラウザでは、セッションに再接続する機能があります。

+0

あなたのブラウザが誤って閉じられた場合、セッションを復元できることを覚えておいてください。 –

+0

真の現代のブラウザには、再接続する機能があります。ありがとう。 – kathmann

1

セッションデータは、PHPのすべてのページで利用できます。一般的には、すべてのファイルに含まれるファイル(configファイル)でsession(session_start())を開始します。

共通ファイルがない場合やグローバルに定義したくない場合は、すべてのファイルでsession_start()を開始する必要があります。

0

私はbar.phpまたはfoo.phpに答えを出します。

  • 含まれており、ブラウザ経由で呼び出すか(魔女の順序はあなたにある中で)あなたがファイルを含めている場合は
  • その後他のすべてのファイルが含まれている
  • シェルされなかった最初のファイルが常にありますいくつかのコードブロックをマージするようなものですが、何も特別なものはありません。
  • 一つのファイルには、セッションは、PHP
  • に存在しているので、どんなファイルが今以降に含まれているセッションデータ
  • へのアクセス権を持っている。しかし、再びsession_startを行い、次のファイルがセッションので、通知がスローされますsession_startと呼ばれた後、すでにファイル(またはより良いファイル内のコード)も
  • を開始した
関連する問題