この記事では、最も単純な Cookie 操作 (追加、削除、変更) から Cookie キューの操作までを取り上げています。詳細を知りたい学生は、この例を参照してください。
1. Cookieの設定
1. PHP COOKIE
Cookieは、リモートブラウザ側にデータを保存し、ユーザーを追跡および識別するために使用する仕組みです。
PHP は http プロトコルのヘッダー情報で Cookie を送信するため、他の情報がブラウザーに出力される前に setcookie() 関数を呼び出す必要があります
。これは header() 関数の制限と同様です。
1.1 Cookie を設定する:
setcookie() または setrawcookie() 関数を使用して Cookie を設定できます。 http ヘッダーをクライアントに直接送信して設定することもできます。
1.1.1 setcookie() 関数を使用して Cookie を設定します:
bool setcookie ( string name [, string value [, int期限切れ [, string path [, string domain [, bool secure [, bool
httponly]]]]] ] )
名前: Cookie 変数名
値: Cookie 変数の値
期限切れ: 有効期間の終了
パス: 有効なディレクトリ
ドメイン: 有効なドメイン名、トップレベル ドメインのみ
セキュア: 値が 1 の場合、Cookie https 接続でのみ使用できます。 有効です。デフォルト値が 0 の場合、http と https の両方が使用可能です。
いくつかの例を見てみましょう:
簡単:
SetCookie("MyCookie", "Value of MyCookie"); Code
SetCookie("WithExpire", "Expire in 1 hours", time ()+3600);//3600 秒 = 1 時間
すべてが利用可能です:
| コードは次のとおりです |
コードをコピー
| SetCookie("FullCookie", "完全な Cookie 値", time()+3600, "/forum", ".phpuser.com", 1);
キューを使用する必要があります。
コードは以下の通りです | コードをコピーします |
class QueueSvc {/*{{{*/ private $length // キューの長さ private $server_arr; public function; __construct($ length,$server_arr) , >server_arr; } public function set($server_name) { self::push($server_name); } private function Push($server_name) { 重複を削除 if(self: ; array_pop($this->server_arr); server_arr = array( ; _arr) && (count ($this->server_arr) >= $this->length) ) return true; array($this->server_arr) && in_array($server_name,$this->server_arr)) return true; > server_arr)) sull value) - > array_remove($ this-> server_arr、$ key); ){ array_splice ( $arr, $offset, 1 ); } }/*}}}*/require_once('queue_svc.php'); class CookieSvc {/*{{{*/ const COOKIE_KEY = "GAME_SERVER"; const SEPARATE = "|"; const COOKIE_LENGTH = "2"; パブリック関数 getCookieArr() {/*{{{*/ $server_str = $_COOKIE[self::COOKIE_KEY]; $server_str = $_COOKIE['GAME_SER] VER']; if($server_str == ''){ $result = array(); }else{ $result =explode(self::SEPARATE,$server_str); } return $result; }/*}} }*/ パブリック関数 set($cookie_id) {/*{{{*/ $server_arr = self::getCookieArr(); if($cookie_id != false) { $que = new QueueSvc( self::COOKIE_LENGTH,$server_arr); $que->set($cookie_id); $server_new = $que->getServerArr(); if(is_array($server_new)) { $cookie_str = 爆破(self::SEPARATE,$server_new); setcookie(self::COOKIE_KEY,$cookie_str,time()+3600,'/'); } } }/*}}}*/ }/*} }}*/
|
はあまり解決されておらず、この人用の多くは、昨夜必要に書かれているため、次のファイルを保持し、後で入手することもできます。以下のように
复制代
|
require_once("queue_svc.php"); |
require_once("cookie_svc.php");
$cookie_id = '4';CookieSvc::set($cookie_ ID);大家は、$cookie_id を毎回異なる値にして、この操作を検査することができます。 検査のコードは、次のようなコードを使用できます。 复制幣 var_dump($_COOKIE); |
常见问题解决:
1) setcookie() の使用時に警告が表示され、setcookie() の前面に出力または空があるためである可能性があります格。また可能性があります文 档は他の文字集から移行されており、文の後ろには BOM 文字名が含まれている可能性があります (つまり、文の内容にいくつかの追加 の BOM 文字)。使用することもあります。 ob_start() 関数 | 一点を処理することもできます。 2) $_COOKIE はmagic_quotes_gpc の影響を受け、自動转义の可能性があります。 | 3) 使用される時期、ユーザーがcookie をサポートしているかどうかを確認する必要があります
|
http://www.bkjia.com/PHPjc/444690.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444690.html技術記事この記事では、最も単純な Cookie 操作 (追加、削除、変更) から Cookie キューの操作までを取り上げています。詳細を知りたい学生は、この例を参照してください。 1. Cookie の設定 1. PHP...