ホームページ バックエンド開発 PHPチュートリアル Cookie を使用してユーザーを追跡および識別する_PHP チュートリアル

Cookie を使用してユーザーを追跡および識別する_PHP チュートリアル

Jul 21, 2016 pm 04:06 PM
cookies ie コンテンツ 存在する 私たち はい ブラウザ 使用 ユーザー 使用 識別する 追跡

ブラウザに保存された内容を見てみましょう。 IE5 を使用している場合は、Windows ディレクトリに Cookie ディレクトリがあり、その中には wudong@15秒[1].txt のようなファイル名があり、これらはブラウザが値を保存するために使用する Cookie です。 。以前のバージョンの IE では Cookie の内容を表示できましたが、現在は内容がエンコードされています。ブラウザは Web ページを取得する前に、まずそのページのドメイン名が Cookie に存在するかどうかを確認し、一致するものがあれば、ブラウザはまず一致する Cookie をサーバーに送信し、次に送信された Cookie を受け入れて処理します。サーバーページによって。

Cookie アプリケーションの例を見てみましょう。Amazon.com に接続すると、ブラウザは最初のページを受け入れる前に、以前に設定した Cookie の内容を Amazon に送信します。その後、Amazon.com は送信されたコンテンツをチェックして、データベースに関連する情報があるかどうかを確認した後、カスタマイズされたページを作成して送信します。
Cookie への値の割り当て

サーバーがクライアントのブラウザにコンテンツを送信する前に、Cookie に値を割り当てる必要があります。これを行うには、Cookie 設定を タグ内に配置する必要があります:
setcookie("CookieID",$USERID)

;
setcookie 関数には、カンマで区切られた合計 6 つのパラメータがあります:

Cookie の名前は文字列です (例: "CookieID")。コロン、カンマ、スペースを間に入れることはできません。このパラメータは必須ですが、他のパラメータはすべてオプションです。このパラメータのみを指定した場合、Cookie は削除されます。

Cookie の値は通常、$USERID などの文字列変数です。 ?? を割り当てて値の設定をスキップすることもできます。

Cookieの有効期限が切れる時刻。省略した場合 (または値 0 を割り当てた場合)、Cookie はセッションの終了時に期限切れになります。このパラメータには、DD-Mon-YYHH:MM:SS で表される絶対時刻を指定できます (例: "24-Nov-9908:26:00")。より一般的に使用されるのは、相対時間を設定することです。これは、time() 関数または mktime 関数を通じて実現されます。たとえば、time()+3600 を指定すると、Cookie は 1 時間後に期限切れになります。

Cookie を照合するために使用されるパス。サーバー上に同じ名前の Cookie 設定が複数ある場合、このパラメータは混乱を避けるために使用されます。 「/」パスを使用すると、このパラメータを省略した場合と同じ効果があります。 Netscape の Cookie 定義ではパスの前にドメイン名が置かれますが、PHP ではその逆であることに注意してください。

サーバーのドメイン名は、Cookie の照合にも使用されます。サーバーのドメイン名の前にドット (.) を置く必要があることに注意してください。例: 「.friendshipcenter.com」。 3 つ以上の点が存在しない限り、このパラメータは受け入れられないためです。

Cookieのセキュリティレベルは整数です。 1 は、この Cookie が「安全な」ネットワーク経由でのみ送信できることを意味します。 0 または省略された場合は、どのタイプのネットワークでも受け入れられることを意味します。

Cookie と変数

PHP スクリプトがクライアントのブラウザから Cookie を抽出すると、自動的に変数に変換されます。たとえば、CookieID という名前の Cookie は、変数 $CookieID になります。Cookie の内容は HTTP_COOKIE_VARS 配列で報告されます。この配列と Cookie の名前を通じて、指定した Cookie 値にアクセスすることもできます。

各ユーザーを覚えておいてください

上の submitform.php3 ファイルを見てみましょう。その機能は、顧客の名前をデータベースに追加することです。各ユーザーに一意のユーザー ID を割り当て、この ID を Cookie に入れて、ユーザーが Web サイトにアクセスするたびに、Cookie とその中のユーザー ID を通じてそのユーザーが誰であるかを知ることができるようにしたいと考えています。

MySQL は、新しいレコードごとに自動的に番号を割り当てるように設定できます。この番号は 1 から始まり、その後は毎回自動的に 1 ずつ増加します。 1 行の SQL ステートメントで、このようなフィールドをデータ テーブルに簡単に追加できます。これを USERID と呼びます。
ALTERTABLEdbname
ADDCOLUMN
USERIDINT(11)NOTNULL
PRIMARYKEYAUTO_INCREMENT; このフィールドにはいくつかの特別な設定を行いました。まず、「INT(11)」によってその型を 11 ビット整数として定義し、次に「NOTNULL」キーワードを使用してこのフィールドの値が NULL にならないようにし、次に「PRIMARYKEY」を使用してインデックス フィールドとして設定します。最後に、「AUTO_INCREMENT」により、自動的にインクリメントされるフィールドとして定義されます。

ユーザーの名前がデータベースに挿入されたら、ブラウザに Cookie を設定します。このときに使用されるのは、先ほど説明した USERID フィールドの値です。

mysql_select_db(dbname);
mysql_query("INSERTINTOtablename(first_name,last_name);
VALUES ( '$first_name','$last_name')
");
setcookie("CookieID",
mysql_insert_id(),
time()+94608000,
"/");/*Cookie は 3 日後に期限切れになりますyears*/
?>

PHP 関数 mysql_insert_id() は、最後の INSERT クエリが実行された後に AUTO_INCREMENT で定義されたフィールドの値を返します。このようにして、ブラウザの Cookie をクリアしない限り、Web サイトは永久にユーザーを「記憶」します

Cookie を読む

Amazon.com がやっているようなスクリプトを書いてみましょう。まず、PHP スクリプトはクライアントのブラウザが Cookie を送信したかどうかを確認し、送信されている場合はユーザーの名前が表示されます。 Cookie が見つからない場合は、顧客に名前の登録を求めるフォームが表示され、その後データベースに追加され、顧客が閲覧している間に Cookie が設定されます。

まず、Cookieの内容を表示します:
mysql_select_db(dbname)
$selectresult=mysql_query("SELECT*FROMtablename
WHEREUSERID='$CookieID'
"); etch_array($selectresult) ;
echo "ようこそ",$row[first_name],"!"
?> 以上です。私には判断力はありませんので、完成させるのはあなたにお任せします






http://www.bkjia.com/PHPjc/315307.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/315307.html

技術記事ブラウザに保存された内容を見てみましょう。 IE5を使用している場合、WindowsディレクトリにCookieディレクトリがあり、その中にwudonのようなファイル名がたくさんあります...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

CSSを介してサイズ変更シンボルをカスタマイズし、背景色で均一にする方法は? CSSを介してサイズ変更シンボルをカスタマイズし、背景色で均一にする方法は? Apr 05, 2025 pm 02:30 PM

CSSでサイズ変更シンボルをカスタマイズする方法は、背景色で統一されています。毎日の開発では、調整など、ユーザーインターフェイスの詳細をカスタマイズする必要がある状況に遭遇することがよくあります...

カスタムスタイルのシートは、SafariのローカルWebページでバイドゥページでは効果を発揮できないのはなぜですか? カスタムスタイルのシートは、SafariのローカルWebページでバイドゥページでは効果を発揮できないのはなぜですか? Apr 05, 2025 pm 05:15 PM

Safariでカスタムスタイルシートを使用することについてのディスカッション今日は、Safariブラウザ向けのカスタムスタイルシートのアプリケーションに関する質問について説明します。フロントエンド初心者...

Webページにローカルにインストールされている「Jingnan Mai Round Body」を正しく表示するにはどうすればよいですか? Webページにローカルにインストールされている「Jingnan Mai Round Body」を正しく表示するにはどうすればよいですか? Apr 05, 2025 pm 10:33 PM

最近、Webページにローカルにインストールされたフォントファイルを使用して、インターネットから無料のフォントをダウンロードし、システムに正常にインストールしました。今...

JavaScriptまたはCSSを介してブラウザ印刷設定でページの上部と終了を制御する方法は? JavaScriptまたはCSSを介してブラウザ印刷設定でページの上部と終了を制御する方法は? Apr 05, 2025 pm 10:39 PM

JavaScriptまたはCSSを使用して、ブラウザの印刷設定のページの上部と端を制御する方法。ブラウザの印刷設定には、ディスプレイが...

Webページにローカルにインストールされたフォントファイルを使用する方法は? Webページにローカルにインストールされたフォントファイルを使用する方法は? Apr 05, 2025 pm 10:57 PM

Webページにローカルにインストールされたフォントファイルを使用する方法Webページ開発でこの状況に遭遇しましたか:コンピューターにフォントをインストールしました...

ネガティブマージンが場合によっては効果がないのはなぜですか?この問題を解決する方法は? ネガティブマージンが場合によっては効果がないのはなぜですか?この問題を解決する方法は? Apr 05, 2025 pm 10:18 PM

なぜマイナスマージンが場合によっては有効にならないのですか?プログラミング中、CSSの負のマージン(負...

Web CarouselダイアグラムのJavaScriptコードを効率的に抽出する方法は? Web CarouselダイアグラムのJavaScriptコードを効率的に抽出する方法は? Apr 05, 2025 pm 12:18 PM

Baidu NewsホームページのCarousel Codeから始めて、多くの人がWebページからJavaScriptコードを抽出して、Baidu New ...などの同様のWebページ効果を実現したいと考えています。

フレックスレイアウトの下のテキストは省略されていますが、コンテナは開かれていますか?それを解決する方法は? フレックスレイアウトの下のテキストは省略されていますが、コンテナは開かれていますか?それを解決する方法は? Apr 05, 2025 pm 11:00 PM

フレックスレイアウトとソリューションの下でのテキストの過度の省略によるコンテナの開口部の問題が使用されます...

See all articles