php session() 関数は、PHP 開発アプリケーションにおいて非常に重要な役割を果たします。初心者向けに、php session() 関数の使用法と例を簡単に説明します。
Session は Cookie と比較して、サーバー側に保存されるセッションであり、Cookie のような保存期間の制限がなく、比較的安全です。この記事では、Session の使い方を簡単に紹介します。
セッションはテキスト ファイルの形式でサーバー側に保存されるため、クライアントはセッションのコンテンツを変更することを恐れません。実際、サーバー側のセッション ファイルでは、PHP がセッション ファイルのアクセス許可を自動的に変更し、システムの読み取りおよび書き込みアクセス許可のみを保持し、ftp 経由では変更できないため、より安全です。
セッションはテキスト ファイルの形式でサーバー側に保存されるため、クライアントはセッションの内容を変更することを恐れません。実際、サーバー側のセッション ファイルでは、PHP がセッション ファイルのアクセス許可を自動的に変更し、システムの読み取りおよび書き込みアクセス許可のみを保持し、ftp 経由では変更できないため、より安全です。
コードは次のとおりです |
コードをコピー |
// セッションを開始します
session_start();
// admin という名前の変数を宣言し、null 値を割り当てます。
$_SESSION["管理者"] = null;
?>
// セッションを開始します
session_start();
// 以前に登録した変数を破棄します
unset($_SESSION['admin']);
// セッション ファイル全体を破棄します
session_destroy();
?>
// セッションを開始します
session_start();
// 1 日保存します
$lifeTime = 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
?>
// 1 日分保存します
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["管理者"] = true;
?>
// 1 日保存します
$lifeTime = 24 * 3600;
// 現在のセッション名を取得します。デフォルトは PHPSESSID
$セッション名 = セッション名();
// セッション ID を取得します
$セッションID = $_GET[$セッション名];
// session_id()で取得したセッションIDを設定します
session_id($sessionID);
session_set_cookie_params($lifeTime);
session_start();
$_SESSION['admin'] = true;
?>
//保存ディレクトリを設定します
$savePath = './session_save_dir/';
// 1 日保存します
$lifeTime = 24 * 3600;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
$_SESSION['admin'] = true;
?>
|
さらに、session_set_save_handler 関数を使用して、Session の呼び出しメソッドをカスタマイズすることもできます。
PHP関数の補完: session_id()
session_id()
session_id() は現在のセッション コードにアクセスします。
構文: string session_id(string [id]);
この関数は、現在保存されているセッションのコードネームを取得または再構成できます。パラメータ ID がない場合は、現在のセッション コードのみを取得できることを意味します。パラメータを追加すると、セッション コードが新しく指定された ID に設定されます。入力と戻り値は両方とも文字列です。
session_id()を出力
コードは次のとおりです |
コードをコピー |
セッション開始();
エコーセッションID();
// 出力 dqr58dnuqj2gufvg4o3tmjb9v4
?>
|
session_id()を設定する
コードは次のとおりです
| コードをコピー
|
session_id("NowaMagic");
セッション開始();
エコーセッションID();
// NowaMagic
を出力します
?>
session_id はセッションのコンテンツを復元します
PHP セッションはプログラムによって復元できますが、これは Java とは異なります。 PHP セッションはファイルまたはデータベースの形式で保存されるため、セッション回復メカニズムでは複数のアプリケーション セッションの共有を実現できます。まず、session_id() 関数を通じて session_id を取得し、この値を渡すことができます。
セッションを復元するには、まず session_id を知る必要があります。セッションが session_id($id); によって復元されることがわかりますが、復元するときは、前の内容を取得する必要があります。 session、session_id は session_start() ($id) の前に実行する必要があります。そうしないと、session_start の実行時にセッションを初期化するときに前の内容を復元できます。そうしないと、空のセッションが得られ、何も取得されません。セッションは以前に再初期化されました。これは、session_start() の関数と密接に関連しています。session_start は、セッションを初期化し、セッションのコンテンツをセッション ファイルから逆シリアル化する必要があることを PHP に指示するため、session_start の関数は、以前に保存されたファイルのコンテンツを逆シリアル化することになります。 session_start のシリアル化の前に session_id を知る必要があります。そうでない場合は、新しい session_id を生成します。その場合は、対応するファイルの内容を逆シリアル化します。
http://www.bkjia.com/PHPjc/628625.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628625.html技術記事 php session() 関数は、PHP 開発アプリケーションにおいて非常に重要な役割を果たします。初心者向けに、php session() 関数の使用法と例を簡単に説明します。 クゥと比べて…