PHPチュートリアル

PHPホーム PHPイントロ PHPインストール PHP構文 PHPコメント PHP変数 PHPエコー/印刷 PHPデータ型 PHP文字列 PHP番号 PHP数学 PHP定数 PHP演算子 PHP If ... Else ... Elseif PHPスイッチ PHPループ PHP関数 PHP配列 PHPスーパーグローバル PHP正規表現

PHPフォーム

PHPフォーム処理 PHPフォームの検証 PHPフォームが必要 PHPフォームのURL / Eメール PHPフォームの完了

PHP Advanced

PHPの日付と時刻 PHPインクルード PHPファイルの処理 PHPファイルのオープン/読み取り PHPファイルの作成/書き込み PHPファイルのアップロード PHPクッキー PHPセッション PHPフィルター PHPフィルターアドバンスト PHPコールバック関数 PHP JSON PHPの例外

PHPOOP _

PHPOOPとは PHPクラス/オブジェクト PHPコンストラクター PHPデストラクタ PHPアクセス修飾子 PHPの継承 PHP定数 PHP抽象クラス PHPインターフェース PHPの特性 PHP静的メソッド PHPの静的プロパティ PHP名前空間 PHPIterables

MySQLデータベース

MySQLデータベース MySQLコネクト MySQL Create DB MySQLテーブルの作成 MySQLの挿入データ MySQLは最後のIDを取得します MySQL Insert Multiple MySQLを準備しました MySQL Select Data MySQL Where MySQL Order By MySQLデータの削除 MySQLアップデートデータ MySQL制限データ

PHP XML

PHPXMLパーサー PHPSimpleXMLパーサー PHPSimpleXML-取得 PHP XMLExpat PHP XML DOM

PHP -AJAX

AJAXイントロ AJAX PHP AJAXデータベース AJAX XML AJAXライブ検索 AJAXポール

PHPの

PHPの例 PHPコンパイラ PHPクイズ PHP演習 PHP証明書

PHPリファレンス

PHPの概要 PHP配列 PHPカレンダー PHPの日付 PHPディレクトリ PHPエラー PHP例外 PHPファイルシステム PHPフィルター PHP FTP PHP JSON PHPキーワード PHP Libxml PHPメール PHP数学 PHPその他 PHP MySQLi PHPネットワーク PHP出力制御 PHP正規表現 PHP SimpleXML PHPストリーム PHP文字列 PHP変数の処理 PHPXMLパーサー PHP Zip PHPタイムゾーン

PHPセッション


セッションは、複数のページで使用される情報を(変数に)格納する方法です。

クッキーとは異なり、情報はユーザーのコンピューターに保存されません。


PHPセッションとは何ですか?

アプリケーションを操作するときは、アプリケーションを開き、いくつかの変更を加えてから、閉じます。これはセッションによく似ています。コンピュータはあなたが誰であるかを知っています。アプリケーションをいつ開始し、いつ終了するかを認識します。しかし、インターネットには1つの問題があります。それは、HTTPアドレスが状態を維持しないため、Webサーバーがあなたが誰であるかまたはあなたが何をしているのかを認識しないことです。

セッション変数は、複数のページで使用されるユーザー情報(ユーザー名、お気に入りの色など)を保存することで、この問題を解決します。デフォルトでは、セッション変数はユーザーがブラウザを閉じるまで続きます。

そう; セッション変数は、1人のユーザーに関する情報を保持し、1つのアプリケーションのすべてのページで使用できます。

ヒント:永続的なストレージが必要な場合は、データを データベースに保存することをお勧めします。


PHPセッションを開始します

関数でセッションが開始されsession_start()ます。

セッション変数は、PHPグローバル変数$ _SESSIONで設定されます。

それでは、「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>

注:関数は、ドキュメントの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>

ユーザーセッションのすべてのセッション変数値を表示する別の方法は、次のコードを実行することです。

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</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>

PHP演習

エクササイズで自分をテストする

エクササイズ:

「favcolor」という名前のセッション変数を作成します。

session_start();
["favcolor"] = "green";