PHPのクッキー

WBOY
リリース: 2016-06-23 14:34:42
オリジナル
1093 人が閲覧しました

------------------------------------------------ ------------------------

Cookie は、ユーザーを追跡および識別するためにリモート ブラウザーにデータを保存するメカニズムです。
PHP は http プロトコルのヘッダー情報で Cookie を送信するため、他の情報がブラウザーに出力される前に setcookie() 関数を呼び出す必要があります。これは header() 関数の制限と同様です。

1.1 Cookie を設定する:
setcookie() または setrawcookie() 関数を使用して Cookie を設定できます。 http ヘッダーをクライアントに直接送信することによっても設定できます。
1.1.1 setcookie() 関数を使用して Cookie を設定します。
bool setcookie ( string name [, string value [, intexpired [, string path [, string domain [, bool secure [, bool httponly]]]]])
name: Cookie 変数名
value: Cookie 変数値
Expired: 有効期間の終了、
パス: 有効なディレクトリ、
ドメイン: 有効なドメイン名、トップレベルドメイン固有
secure : 値が 1 の場合、Cookie は https 接続でのみ有効です。デフォルト値 0 の場合、http と https の両方が使用可能です。
例:
$value = '何かどこか';

setcookie ("TestCookie", $value); /* 簡単な Cookie 設定*/
setcookie("TestCookie", $value, time()+3600); /* 有効期間は 1 時間です*/
setcookie ("TestCookie", $value , time()+3600, "/~rasmus/", ".example.com", 1); /* 有効なディレクトリ/~rasmus、有効なドメイン名 example.com とそのすべてのサブドメイン* /
?>

複数の Cookie 変数を設定します: setcookie('var[a]','value'); この方法では、変数を表すために配列を使用します。この方法では、$ を使用できます。 _COOKIE['var']['a'] を使用して COOKIE 変数を読み取ります。

header("Set-Cookie: name=$value[;path=$path] [;domain=xxx.com[;... ]]");

次のパラメーターは、上記の setcookie 関数のパラメーターと同じです。
例:

$value = 'something from somewhere';

header ("Set-Cookie:name=$value");


1.2 Cookie の読み取り:

PHP 組み込みのスーパー グローバル変数 $_COOKIE を直接使用して、ブラウザー側で Cookie を読み取ることができます。 Cookie「TestCookie」が設定されているので、それを読み取ってみましょう:

print $_COOKIE[' TestCookie'];

COOKIE は出力されましたか?!

1.3 Cookie を削除します

有効期間を現在時刻よりも短く設定するだけです例:

setcookie("name","", time()-1);


1.4 解決済みのよくある質問:

1) があります。 setcookie() を使用すると、エラー メッセージが表示されます。または、setcookie() を呼び出す前に出力またはスペースがあることが原因である可能性があります。ドキュメントが他の文字セットから変換されている場合、ドキュメントには BOM 署名が含まれている可能性があります。解決策は、ob_start( ) 関数を使用してこの状況を回避することです。

2) $_COOKIE は、magic_quotes_gpc の影響を受けるため、自動的にエスケープされる可能性があります。

3) 使用する場合、ユーザーがCookieをサポートしているかどうかをテストする必要があります

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート