0

PHP 内には多くの事前設定されたグローバルがあり、 Theres $_SESSION$_REQUEST$_POST、... というように、それぞれに異なる使用法がありますが、設定後に値を保持する別のグローバル配列を作成することが可能かどうか疑問に思っています$_GET..$_COOKIE例:

index.php:

include "Test.php"; 

print_r($Array);

Test.php

$Array = array();

Set.php:

include "Test.php";
$Array[] = "Test"; 

手順:

ユーザーは Set.php に移動します -> set.php は配列セットに値を追加しますTest.php-> ユーザーは index.php に移動します & 値は保持されます。

上の配列を操作するものは何もないためtest.php、値はクリアされます。更新後も操作を行わずにこの配列の値を保持する方法はありますか?

4

1 に答える 1

5

リフレッシュ後に値を保持する

それが、特にセッション状態の目的です。の値も、Web サーバー自体にフックしてそのセッションの値を取得する$_SESSIONを呼び出さない限り、「クリア」されることに注意してください。session_start()

他のすべての例も、各ページで「クリア」されます。実際、これらはすべて、ページがリクエストされたときにリクエスト自体によって提供されます。

  • $_REQUEST
  • $_POST
  • $_GET
  • $_COOKIE

のアイテムは、$_SESSIONある種の特別なグローバルであるため、持続しません。Web サーバーのセッション状態管理を使用するために実装されているため、永続化されます。ページ外の任意の媒体で状態を永続化して、同じ方法で何でも実装できます。そのような:

  • ファイル
  • データベース

session_start()次に、その外部ソースからデータをフェッチし、グローバル コレクションを再設定するのと同様の関数を作成できます。のように、各ページの最初に呼び出す必要がありますsession_start()

于 2013-08-14T22:59:16.597 に答える