PHP 使用ガイド - Cookie セクション
このチュートリアルでは、PHP を使用して Cookie を処理する方法を学習し、Cookie の実際の応用例を説明するために、できるだけ簡単に説明します。
Cookie とは何ですか?またその機能は何ですか?
Cookie は Web サーバーによって生成され、クライアントに関する情報が含まれています。サーバーが指定したhtml情報に埋め込まれ、クライアントとサーバー間で情報を伝達します
。通常、ユーザーの Web ページのパーソナライゼーション、カウンター、訪問したサイトに関する情報の保存などに使用されます。
Cookie と PHP
PHP で Cookie を使用するのは非常に簡単です。 Cookie は setcookie 関数を使用して設定できます。 Cookie は HTTP ヘッダーの一部であるため、コンテンツがブラウザに送信される前に Cookie 関数を設定する必要があります。この制限は header() 関数と同じです。クライアントから渡された Cookie はすべて、自動的に PHP 変数に変換されます。 PHP は情報ヘッダーを取得して分析し、Cookie 名を抽出して変数に変換します。したがって、setcookie("mycookie","wang"); のような Cookie を設定すると、php は値が "wang" の $mycookie という名前の変数を自動的に生成します。
まず setcookie 関数の構文を確認してみましょう:
setcookie(string CookieName, string CookieValue, int CookieExpireTime, パス, ドメイン, int secure);
PATH: Web サーバー上のディレクトリを表します。デフォルトは、呼び出されたページが配置されているディレクトリです
DOMAIN: Cookie が使用できるドメイン名。デフォルトは、呼び出されたページのドメイン名です。このドメイン名には 2 つの「.」が含まれている必要があるため、トップレベル ドメイン名を指定する場合は「.mydomain.com」を使用する必要があります
SECURE: 「1」に設定すると、ユーザーのブラウザが安全であるとみなしたサーバーのみが Cookie を記憶できることを意味します
アプリケーション:
登録が必要なサイトの場合、ユーザーの身元が自動的に識別され、見知らぬ人であれば最初に登録するように指示されます。以下の情報を使用して小さなデータベースを作成します: 名、姓、電子メール アドレス、訪問カウンター
以下の手順に従ってテーブルを作成します:
MySQL> データベース ユーザーを作成します。
クエリは OK、1 行が影響を受けました (0.06 秒)
mysql> ユーザーを使用します。
データベースが変更されました
mysql> テーブル情報の作成 (FirstName varchar(20)、LastName varchar(40)、
メール varchar(40)、カウント varchar(3));
クエリは OK、影響を受ける行は 0 (0.05 秒)
さて、要件を満たすテーブルができたので、データベースに対して Cookie をチェックするための PHP ページを構築できます
#####################index.php###################### ## #########
if (isset($Example)) { //既存の Cookie の命令を開始します
$info =explode("&", $Example);
$名=$情報[0];
$LastName=$info[1];
$email=$info[2];
$count=$info[3];
$カウント++
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count
SetCookie ("Example",$CookieString, time()+3600); // 新しい Cookie を設定します
エコー"
こんにちは、$FirstName $LastName、こちらはあなたの訪問番号です: $count
あなたのメールアドレスは: $email
こんにちは、$FirstName $LastName、こちらはあなたの訪問番号です: $count
あなたのメールアドレスは: $email
user $FirstName $LastName はすでに存在します。既存の
を使用します
情報。
メインページに戻る";
} その他 {
$count = '1';
$query = "情報値に挿入
('$FirstName','$LastName','$email','$count')";
$result = mysql_db_query("ユーザー", $query);
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("例",$CookieString, time()+3600);
echo "ご登録いただきありがとうございます。
";
}
} else { echo 「申し訳ありませんが、一部の情報が不足しています。戻ってすべてを追加してください
情報"; }
?>
最初にすべての情報が書き込みを要求しているかどうかを検査し、要求されていない場合は、新たな入力を返します
if ($FirstName と $LastName と $email)
{
...
} else { echo 「申し訳ありませんが、一部の情報が不足しています。戻ってすべてを追加してください
情報"; }
?>
すべての情報が充実している場合は、次の手順を実行します:
mysql_connect() または die (「データベースへの接続の問題」);
$query="select * from info where FirstName='$FirstName' および
LastName='$LastName' および email='$email'";
$result = mysql_db_query("ユーザー", $query);
$r=mysql_fetch_array($result);
$count=$r["カウント"];
if (isset($count)) {
$count++;
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("例",$CookieString, time()+3600);
echo "
user $FirstName $LastName はすでに存在します。既存の
を使用します
情報。
メインページに戻る";
} その他 {
$count = '1'; // 新しい訪問者 - カウンターを 1 に設定します。
$query = "情報値に挿入
('$FirstName','$LastName','$email','$count')";
$result = mysql_db_query("ユーザー", $query);
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("例",$CookieString, time()+3600);
echo "ご登録いただきありがとうございます。
";
この段階のプログラムは、データベースにそのようなユーザーが存在するかどうかを検査し (存在しない場合、つまり、この Cookie は削除されています)、存在する場合は、古い情報が指定され、現在の情報を使用して新しい Cookie が作成されます。 、同じユーザーがデータベースに登録していない場合は、新たにデータベースに登録し、新しい Cookie を作成します。
第一、我们从データベース库中取回用户登录详细资料
mysql_connect() または die (「データベースへの接続の問題」);
$query="select * from info where FirstName='$FirstName' および
LastName='$LastName' および email='$email'";
$result = mysql_db_query("ユーザー", $query);
$r=mysql_fetch_array($result);
$count=$r["カウント"];
この用途に 1 つのパラメータがあるかどうか、isset() 関数を利用します
if (isset($count)) {
...
} その他 {
...
}
计数器增加并新建一クッキー
$count++; //カウンターを増やす
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("例",$CookieString, time()+3600);
echo "
user $FirstName $LastName はすでに存在します。既存の情報を使用します。
";メインページに戻る";
用のカウンターがない場合は、mysql にクッキーを追加して
を設定します
注意: いつでも、setcookie は、输输情報を入手したかどうかを確認する前に、ダウンロードツールに送信されます
上記では、PHP が指南 Cookie を使用する部分を説明しましたが、これには側面の内容も含まれており、PHP の教則に興味のある友人が助けてくれる事を期待しています。