ホームページ バックエンド開発 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)

Jubi.comアプリをダウンロードする場所 Jubi.comアプリをダウンロードする場所 Mar 05, 2025 pm 09:06 PM

Jubi.comアプリをダウンロードする場所

公式ゲートWebサイトAndroidをダウンロードしてください 公式ゲートWebサイトAndroidをダウンロードしてください Mar 05, 2025 pm 07:54 PM

公式ゲートWebサイトAndroidをダウンロードしてください

OUYI公式ウェブサイトの最新の登録ポータル OUYI公式ウェブサイトの最新の登録ポータル Mar 21, 2025 pm 05:54 PM

OUYI公式ウェブサイトの最新の登録ポータル

Mar 05, 2025 pm 08:57 PM

コインベース交換ログインポート2025 コインベース交換ログインポート2025 Mar 21, 2025 pm 05:51 PM

コインベース交換ログインポート2025

Huobi Exchangeの公式Webサイトログインポータルの最新バージョン Huobi Exchangeの公式Webサイトログインポータルの最新バージョン Mar 05, 2025 pm 08:39 PM

Huobi Exchangeの公式Webサイトログインポータルの最新バージョン

OUYI Exchange App国内ダウンロードチュートリアル OUYI Exchange App国内ダウンロードチュートリアル Mar 21, 2025 pm 05:42 PM

OUYI Exchange App国内ダウンロードチュートリアル

Deepseek WebバージョンEntrance_Deepseek Webバージョン入学公式Webサイト Deepseek WebバージョンEntrance_Deepseek Webバージョン入学公式Webサイト Mar 12, 2025 pm 12:30 PM

Deepseek WebバージョンEntrance_Deepseek Webバージョン入学公式Webサイト

See all articles