ホームページ  >  記事  >  バックエンド開発  >  PHP Cookie オペレーション キューオペレーション class_PHP チュートリアル

PHP Cookie オペレーション キューオペレーション class_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:10:48710ブラウズ

この記事では、最も単純な 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("cookie_svc.php");
require_once("queue_svc.php");
$cookie_id = '4';

CookieSvc::set($cookie_ ID);大家は、$cookie_id を毎回異なる値にして、この操作を検査することができます。

検査のコードは、次のようなコードを使用できます。

复制幣

var_dump($_COOKIE);

常见问题解决:

1) setcookie() の使用時に警告が表示され、setcookie() の前面に出力または空があるためである可能性があります格。また可能性があります文 档は他の文字集から移行されており、文の後ろには BOM 文字名が含まれている可能性があります (つまり、文の内容にいくつかの追加 一点を処理することもできます。 3) 使用される時期、ユーザーがcookie をサポートしているかどうかを確認する必要があります

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444690.html技術記事この記事では、最も単純な Cookie 操作 (追加、削除、変更) から Cookie キューの操作までを取り上げています。詳細を知りたい学生は、この例を参照してください。 1. Cookie の設定 1. PHP...
の BOM 文字)。使用することもあります。 ob_start() 関数 2) $_COOKIE はmagic_quotes_gpc の影響を受け、自動转义の可能性があります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。