セッションは、情報格納するための方法である(in variables)複数のページにまたがって使用します。
クッキーとは異なり、情報がユーザーのコンピュータに保存されていません。
PHPのセッションとは何ですか?
あなたがアプリケーションを使用する場合、あなたはそれを開いて、いくつかの変更を行い、その後、あなたはそれを閉じます。 これは、多くのセッションのようなものです。 コンピュータは、あなたが誰であるか知っています。 あなたがアプリケーションを起動したとき、あなたが終わるとき、それは知っています。 HTTPアドレスは状態を保持していないために、Webサーバはあなたが誰であるか知っていないか、あなたは何をすべきか:しかし、インターネット上で一つの問題があります。
セッション変数は、複数のページにまたがって使用するユーザー情報を格納することによってこの問題を解決する(eg username, favorite color, etc) ユーザーがブラウザを閉じるまでデフォルトでは、セッション変数は最後。
そう; セッション変数は、1人のユーザーに関する情報を保持し、1つのアプリケーション内のすべてのページにご利用いただけます。
ヒント:あなたは永続的なストレージが必要な場合は、中のデータを保存することができますデータベース 。
PHPセッションを開始
セッションが開始されたとsession_start()関数。
$ _SESSION:セッション変数は、PHPのグローバル変数で設定されています。
それでは、と呼ばれる新しいページを作成しましょう"demo_session1.php" 。 このページでは、我々は新しいPHPセッションを開始し、いくつかのセッション変数を設定します。
例
<?php
// Start the session
session_start();
?>
<!DOCTYPE
html>
<html>
<body>
<?php
// Set session
variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"]
= "cat";
echo "Session variables are set.";
?>
</body>
</html>
»実行例 Note: session_start()関数は、ドキュメント内の非常に最初のものでなければなりません。 任意のHTMLタグの前に。
PHPのセッション変数の値を取得します。
次に、我々はと呼ばれる別のページ作成"demo_session2.php" 。 このページから、我々は最初のページに設定されたセッション情報にアクセスします("demo_session1.php")
注意してくださいそのセッション変数ではなく、彼らは私たちは、各ページの先頭で開くセッションから取得され、それぞれの新しいページに個別に渡されません( session_start()
また、すべてのセッション変数の値はグローバル$ _SESSION変数に格納されていることに気づきます。
例
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous
page
echo "Favorite color is " . $_SESSION["favcolor"]
. ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"]
. ".";
?>
</body>
</html>
»実行例 ユーザー・セッションのすべてのセッション変数の値を表示するもう一つの方法は、次のコードを実行することです:
それがどのように動作しますか? どのようにそれは私です知っているのですか?
765487cf34ert8dede5a562e4f3a7e12:ほとんどのセッションは、次のようになり、ユーザーのコンピュータ上のユーザーのキーを設定します。 セッションが別のページに開かれたときに、それは、ユーザーのキーのためのコンピュータをスキャンします。 一致がある場合はない場合、それは、そのセッションにアクセスし、それが新しいセッションを開始します。
PHPセッション変数を変更します。
セッション変数を変更するには、ちょうどそれを上書きします:
例
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
to change a session variable, just overwrite it
$_SESSION["favcolor"] =
"yellow";
print_r($_SESSION);
?>
</body>
</html>
»実行例 PHPのセッションを破壊します
すべてのグローバルセッション変数を削除し、セッションを破棄し、使用するにはsession_unset()し、 session_destroy()
例
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
remove all session variables
session_unset();
// destroy the
session
session_destroy();
?>
</body>
</html>
»実行例