ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでのセッションの使用と分析

PHP_PHP チュートリアルでのセッションの使用と分析

Jul 15, 2016 pm 01:25 PM
php session 中国語 セッション 使用 分析する 意味 そして

セッションの中国語訳は「会話」といい、本来の意味は始まりと終わりのある一連の行為・メッセージを指します。例えば、電話をかけるとき、受話器を取るまでの一連のプロセスを指します。電話を切るまでの操作を「セッション」と呼びます。現在の社会におけるセッションの理解は非常に混乱しています。「ブラウザ セッション中、...」という言葉が時々見られますが、ここでのセッションはブラウザ ウィンドウが開いてから閉じるまでの期間を指します。 「セッション中のユーザー(クライアント)」という文に言及する場合、ユーザーの一連のアクション(通常は、ログインから商品の購入、チェックアウトまでなど、特定の目的に関連する一連のアクション)を指す場合があります。ただし、このようなオンライン ショッピング プロセスは、接続のみを指す場合があります。ただし、セッションという言葉がネットワーク プロトコルに関連付けられている場合、それは暗黙的に「接続指向」であることがよくあります。 「接続指向」とは、電話をかけるなど、通信する前に通信チャネルを確立する必要があり、相手が電話に出るまで通信を開始できないことを意味します。 「ステータスの維持」とは、通信相手が一連のメッセージを関連付けて、メッセージが相互に依存できるようにすることを意味します。たとえば、ウェイターは、再び来た古い顧客を認識し、その顧客が前回店に 1 ドル借りていたことを思い出すことができます。このカテゴリの例には、「TCP セッション」または「POP3 セッション」が含まれます。

この混乱は元に戻せないという事実を考慮すると、セッション関連の情報を読み取る際に統一した標準を設けることは困難です。文脈から推測して理解することはできませんが、次のように理解できます。たとえば、電話をかけるとき、電話をかけた瞬間から電話を切る瞬間まで、通話は接続されたままになります。つまり、この種の接続は次のようになります。通信のステータスはセッションと呼ばれ、クライアントが COOKIE をサポートしていない場合、データが正しく安全であることを保証するために常に存在します。セッション変数は、訪問者に割り当てられます。これは、クライアントの Cookie に保存されるか、URL を通じて渡されます。つまり、HTTP プロトコルです。はステートレス プロトコルとみなされ、ユーザーの閲覧ステータスを知ることができません。サーバー側で応答が完了すると、サーバーはブラウザとの接続を失います。これは、クライアントが行う必要があるだけです。クライアントとサーバーのどちらも、顧客と自動販売機または通常の (非会員) 間の関係と同様に、それぞれのリクエストは独立しています。したがって、ユーザーの関連情報はセッションを通じて記録され(Cookie は別の解決策です)、ユーザーはこの ID を再度 Web サーバーにリクエストするときに確認できるようになります。複数のページを切り替えるとき、Web サイトのプログラマーは皆、この経験を持っています。各ページの変数は次のページでは使用できません (フォームや URL も実装できますが、これらは非常に不十分な方法です)。変数はグローバル変数として使用できます。

それでは、セッションの用途は何でしょうか?オンラインで買い物をするとき、誰もがショッピング カートを使用したことがあります。いつでも選択した商品をショッピング カートに追加し、最後にレジに行って会計を行うことができます。プロセス全体を通じて、ショッピング カートは選択した商品を一時的に保存する役割を果たします。これは、ユーザーの ID 認証やプログラムのステータスを追跡するために使用されます。記録、ページ間のパラメータの受け渡しなど。

COOKIE テクノロジーは、Session の実装で使用されます。Session は、Session_id (セッション番号) を含む COOKIE をクライアント側に保存し、Session_name などの他のセッション変数をサーバー側に保存します。ユーザーがサーバーにリクエストを送信すると、Session_id もサーバーに送信され、Session_id を通じてサーバー側に保存されている変数を抽出することで、ユーザーが誰であるかを識別できます。同時に、セッションが時々失敗する理由を理解するのは難しくありません。

クライアントが COOKIE を無効にすると (IE の [ツール] - [インターネット オプション] をクリックし、ポップアップ ダイアログ ボックスの [セキュリティ] - [レベルのカスタマイズ] をクリックし、[会話ごとに COOKIE を許可] を [無効] に設定します)、Session_idは渡されず、セッションは無効になります。ただし、php5 は Linux/Unix プラットフォーム上の Cookie ステータスを自動的にチェックできます。クライアントが無効になっている場合、システムは URL に Session_id を自動的に追加して渡します。 Windows ホストにはこの機能はありません。

セッションの共通関数と使用法

Session_start(): セッションを開始するか、既存のセッションを返します。

注: この関数にはパラメータがなく、戻り値は true です。 Cookie ベースのセッションを使用する場合は、Session_start() を使用する前にブラウザに出力を含めてはいけません。そうしないと、次のエラーが発生します: 警告: セッション キャッシュ リミッターを送信できません - ヘッダーは既に /usr/local に送信されました (出力が開始されました)。 /apache/htdocs/cga/member/1.php:2)……

php.ini で Session.auto_start=1 を開始できるため、Session を使用する前に毎回 Session_start() を呼び出す必要はありません。ただし、このオプションの有効化にはいくつかの制限があります。Session.auto_start が実際に有効になっている場合、セッション内でオブジェクトを再作成するには、セッションを開始する前にクラス定義をロードする必要があるため、オブジェクトをセッションに配置することはできません。

登録されたすべての変数は、リクエストの完了後にシリアル化されます。登録されているが定義されていない変数は、未定義としてマークされます。これらの変数は、ユーザーが後で定義しない限り、その後のアクセスでもセッション モジュールによって定義されません。

一部の種類のデータはシリアル化できないため、セッションに保存できません。循環参照を持つリソース変数またはオブジェクトを含めます (つまり、あるオブジェクトがそれ自体への参照を別のオブジェクトに渡します)。


www.bkjia.com本当http://www.bkjia.com/PHPjc/446675.html技術記事セッションの中国語訳は「会話」で、本来の意味は、電話を取る、ダイヤルする、電話を切るまでの一連の動作など、始まりと終わりのある一連の動作・メッセージを指します。電話してください...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles