ホームページ >バックエンド開発 >PHPチュートリアル >セッション チュートリアル two_PHP チュートリアル
PHPlib の他の関数やセッションに関連する他の関数の使用については、マニュアルを参照するか、Web サイトにアクセスしてオンライン ドキュメントを読むことができます。そのホームタウンは http://phplib.netuse.de/index.PHP3 です。 php4 のセッション実装のほとんどは phplib から学習されます。また、セッション ID を保存するために Cookie に依存し、変数を保存するためにファイル システムを使用します (デフォルト)。したがって、そのセッション変数はオブジェクトを保存できません (実際、オブジェクトの内容は保存できますが、ディスク上に保存されるため意味がありません。生きているオブジェクトではなく、せいぜいオブジェクトの死体であるためです)。この制限はそれほど大きなものではないため、ほとんどの場合、変数を保存するだけで十分です。もちろん、セッションをデータベースに保存することもできます。次のセクションでは、セッションをデータベースに保存する方法について説明します。 php4 は php3 よりも多くのセッションをサポートしているため、PHP.ini ファイルにはさらに多くのセッション構成オプションがあります。各項目の機能と意味を見てみましょう:
[セッション]
session.save_handler = ファイル; データの保存/取得に使用されるハンドラー (セッション変数の保存に使用するもの。デフォルトではファイルが使用されます)
session.save_path = c:/temp; save_handler に渡される引数 (セッション変数が保存されるディレクトリ、linux/unix では /tmp、win ではディレクトリに設定)
; ファイルの場合、これは
; データファイルが保存されるパス
session.use_cookies = 1; Cookie を使用するかどうか (もちろん、Win では使用するかどうかは選択できません)
session.name = PHPSESSID
; セッションの名前 (デフォルトのセッションで使用される Cookie 名。変更しないことをお勧めします)
; はクッキー名として使用されます
session.auto_start = 0; リクエストの起動時にセッションを初期化します (セッションを自動的に有効にするかどうか、1 の場合、各ページで session_start() 関数を呼び出す必要はありません)
session.cookie_lifetime = 0 ; Cookie の有効期間 (秒単位で、ブラウザに送信された後の Cookie の保存時間を設定します。デフォルト値は 0、つまりブラウザが閉じるまでを意味します)
; または 0 の場合、ブラウザが再起動されるまで
session.cookie_path = / ; Cookie が有効なパス (Cookie)(Cookie の有効なパス)
session.cookie_domain = ; Cookie が有効なドメイン (Cookie の有効なドメイン名)
session.serialize_handler = php; データをシリアル化するために使用されるハンドラー (シリアル化されたデータの識別子を定義します。この関数は WDDX モジュールまたは PHP によって内部的にのみ使用されます。デフォルト値は PHP)
; php は PHP の標準シリアライザーです
session.gc_probability = 1 ; (一時ファイルの処理 (gc、ガベージ コレクション) が開始されるたびに処理される確率を設定します。デフォルト値は 1 です)
; 「ガベージコレクション」プロセスが開始されます
; すべてのセッションの初期化時
session.gc_maxlifetime = 1440; この秒数が経過すると、保存されます(セッションを保存している一時ファイルがクリアされるまでの秒数を設定します)
; データは「ゴミ」として見なされます
; gc プロセスによってクリーンアップされました
session.referer_check = ; HTTPリファラーをチェックして無効化します (クライアントを参照しているセッションコードを削除するかどうかを決定します。セキュリティまたはその他の考慮事項により削除されないように設定されている場合があります。デフォルト値は0です)
; ID を含む外部に保存された URL
session.entropy_length = 0; ファイルから読み取るバイト数 (セッションが高エントロピーのリソースから読み取るビット数を設定します。デフォルト値は 0 です)
session.entropy_file = ; セッション ID を作成するためにここで指定します (作成するセッション コードを設定するときは、UNIX システムの /dev/random や /dev/urandom などの、作成する外部の高エントロピー リソースまたはファイルを使用します。)
; セッション.エントロピーの長さ = 16
; session.entropy_file = /dev/urandom
session.cache_limiter = nocache; { nocache,private,public} に設定 (セッションバッファ制限を設定)
; HTTP キャッシュの側面を決定する
session.cache_expire = 180; ドキュメントは n 分後に期限切れになります (ドキュメントの有効期間、単位は分です)
Windows プラットフォームでは、php4.01pl2 より前のバージョンでは session.save_path の設定後にエラーが発生します。これは php のバグであり、php4.01pl2 以降では修正されています。以前のバージョンを使用している場合は、session.save_path を「./」または「/temp」に設定し、PHP スクリプトを配置する現在のディスクのルート ディレクトリに temp という名前のディレクトリを作成できます (私の PHP スクリプトは配置されています) d:apachehtdocs の下に、d: ドライブのルート ディレクトリに temp というディレクトリを作成します)。
PHP4 のセッション関連の関数には主に次のようなものがあります:
session_start: セッションを初期化し、セッションの各ページの先頭で呼び出す必要があります。
session_destroy: セッションの終了。セッションを終了する必要がある場合に呼び出されます。
session_name: 現在のセッション名にアクセスします。
session_module_name: 現在のセッション モジュールにアクセスします。
session_save_path: 現在のセッション パスにアクセスします。
session_id: 現在のセッション ID 番号にアクセスします。
session_register: 新しいセッション変数を登録します。
session_unregister: 登録されているセッション変数を削除します。
session_is_registered: セッション変数が登録されているかどうかを確認します。
session_decode: セッションデータのデコード。
session_encode: セッションデータの暗号化。
通常、呼び出す必要がある関数は 3 つだけです。
つまり、session_start()、session_register()、session_is_registered() です。
セッションを必要とする各ページの先頭で session_start() 関数を呼び出します。
セッションを使用する典型的なページは次のとおりです:
....
$var="こんにちは";
session_register("var");//$var 変数を登録します。$ 記号がないことに注意してください
if(session_is_registered("var"))//変数が登録されているかどうかを確認します
エコー「はは、登録しました!」
それ以外は
?>
本文>
true