ホームページ バックエンド開発 PHPチュートリアル phpのcookie操作(設定・使い方・削除)を詳しく解説

phpのcookie操作(設定・使い方・削除)を詳しく解説

Jul 25, 2016 am 08:59 AM

この記事では、PHP での Cookie の設定、使用、削除、および Cookie の制限に関する関連コンテンツを紹介します。必要な方は参考にしてください。

1. クッキーを設定する PHPでCookieを設定するには、SetCookie関数を使用します。 注: Cookie は HTTP プロトコル ヘッダーの一部であり、ブラウザとサーバーの間で情報を転送するために使用されるため、HTML ファイル自体に属するコンテンツが出力される前に Cookie 関数を呼び出す必要があります。

SetCookie 関数は Cookie を定義し、それを HTTP ヘッダーの末尾に追加します。 SetCookie 関数のプロトタイプは次のとおりです。

int SetCookie(文字列名、文字列値、int 期限切れ、文字列パス、文字列ドメイン、int セキュア);

名前を除くすべてのパラメータはオプションです。 3 つのパラメータ値、パス、およびドメインは空の文字列に置き換えることができ、それらが設定されていないことを示します。expire パラメータと secure パラメータは数値であり、0 で表すことができます。期限切れパラメータは標準の Unix タイムスタンプで、time() または mktime() 関数を使用して秒単位で取得できます。 secure パラメータは、この Cookie が暗号化された HTTPS プロトコルを介してネットワーク上で送信されるかどうかを示します。

現在設定されているCookieはすぐには有効になりませんが、次のページまで表示されません。これは、設定されたページでCookieがサーバーから顧客のブラウザに渡され、ブラウザが顧客からCookieを転送できるためです。次のページへ ファイルがマシンから取得されてサーバーに返される理由。 同じページ上の Cookie の設定は、実際には後ろから前に始まるため、新しい Cookie を挿入する前に削除する場合は、最初に挿入ステートメントを記述し、次に削除ステートメントを記述する必要があります。そうしないと、望ましくない結果が発生する可能性があります。

SetCookie() 関数が Cookie を設定する例をいくつか見てみましょう。

--シンプル: SetCookie("MyCookie", "MyCookie の値");

-- 有効期限付き: SetCookie("WithExpire", "1 時間で期限切れ", time()+3600);//3600 秒 = 1 時間

-- 総合型: SetCookie("FullCookie", "完全な Cookie 値", time()+3600, "/forum", ".jbxue.com", 1);

サイトに複数の異なるディレクトリがあり、パスのない Cookie のみを使用する場合、あるディレクトリのページに設定された Cookie は、別のディレクトリのページには表示されません。 Cookie はパス指向です。 パスが指定されていない場合でも、WEB サーバーは現在のパスをブラウザに自動的に渡します。パスを指定すると、サーバーは設定されたパスを使用するようになります。 解決: SetCookie を呼び出すときにパスとドメイン名を追加します。ドメイン名の形式は「bbs.it-home.org」または「.jbxue.com」です。

SetCookie関数の値を表す部分は渡される際に自動的にエンコードされます。 valueの値が「test value」の場合、URLのメソッドと同様に渡すと「test%20value」になります。 これはプログラムに対して透過的であり、PHP は Cookie 値を受信すると自動的にその値をデコードします。

同じ名前の複数の Cookie を設定するには、配列を使用します。

SetCookie("CookieArray[]", "値 1"); SetCookie("CookieArray[]", "値 2"); または SetCookie("CookieArray[0]", "値 1"); SetCookie("CookieArray[1]", "値 2");

2. Cookieの受信と処理

PHP は Cookie の受信と処理を非常に優れたサポートを備えており、完全に自動であり、FORM 変数と同じ原理を持っています。 たとえば、MyCookier という名前の Cookie を設定すると、PHP は WEB サーバーが受信した HTTP ヘッダーからそれを自動的に分析し、$myCookie という名前の通常の変数と同様の変数を形成します。この変数の値が Cookie の値になります。 配列にも同じことが当てはまります。

もう 1 つの方法は、PHP のグローバル変数 $HTTP_COOKIE_VARS 配列を参照することです。

例は次のとおりです: (これらが前のページで設定されており、まだ有効であると仮定します)

$MyCookie をエコーし​​ます。 エコー $CookieArray[0]; エコー数($CookieArray); echo $HTTP_COOKIE_VARS["MyCookie"];

とても簡単です。

3. Cookieを削除する 既存の Cookie を削除するには、次の 2 つの方法があります。 1 つ目は、name パラメータのみを指定して SetCookie を呼び出すことです。そうすれば、この名前の Cookie が関連するコンピュータから削除されます。 もう 1 つの方法は、Cookie の有効期限を time() または time()-1 に設定することです。そうすれば、ページが閲覧された後に Cookie が削除されます (実際には期限切れになります)。 注: Cookie が削除されても、その値は現在のページで引き続き有効です。

4. Cookieの使用制限 まず、HTML ファイルのコンテンツを出力する前に設定する必要があります。

第二に、異なるブラウザでは Cookie の処理に一貫性がなく、場合によっては誤った結果が発生する可能性があります。たとえば、MS IE+SERVICE PACK 1 はドメイン名とパスを含む Cookie を正しく処理できません。Netscape Communicator 4.05 および MS IE 3.0 はパスと時間がない Cookie を正しく処理できません。 MS IE 5 に関しては、ドメイン名、パス、時刻を含む Cookie を扱うことができないようです。これは、このサイトのページをデザインしているときに発見したものです。

3 番目の制限はクライアント側にあります。 ブラウザで作成できる Cookie の最大数は 30 で、各 Cookie は 4KB を超えることはできません。各 Web サイトで設定できる Cookie の総数は 20 を超えることはできません。

以上がこのセクションで紹介するPHP Cookieの操作についてです。PHPにおけるCookieの設定、使用、削除、注意すべき点について詳しく紹介しました。 お役に立てれば幸いです。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPのさまざまなエラータイプを説明します(通知、警告、致命的なエラー、解析エラー)。 PHPのさまざまなエラータイプを説明します(通知、警告、致命的なエラー、解析エラー)。 Apr 08, 2025 am 12:03 AM

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

HTTPリクエストメソッド(取得、投稿、配置、削除など)とは何ですか?それぞれを使用する必要がありますか? HTTPリクエストメソッド(取得、投稿、配置、削除など)とは何ですか?それぞれを使用する必要がありますか? Apr 09, 2025 am 12:09 AM

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP OOPで、self ::、parent ::、and static ::の違いを説明します。 PHP OOPで、self ::、parent ::、and static ::の違いを説明します。 Apr 09, 2025 am 12:04 AM

Phpoopでは、self ::は現在のクラスを指し、親::は親クラスを指し、静的::は後期静的結合に使用されます。 1.Self ::静的方法と一定の呼び出しに使用されますが、後期静的結合をサポートしていません。 2.Parent ::サブクラスには、親クラスのメソッドを呼び出すために使用され、プライベートメソッドにアクセスできません。 3.Static ::継承と多型に適した後期静的結合をサポートしますが、コードの読みやすさに影響を与える可能性があります。

PHPは、ファイルを安全に処理する方法をどのように処理しますか? PHPは、ファイルを安全に処理する方法をどのように処理しますか? Apr 10, 2025 am 09:37 AM

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

See all articles