HTTP Cookies
Cookieã«ã¤ãã¦ã
Cookieã¨ã¯ï¼
Cookieã¨ã¯ããµã¼ãããéãããï¼CGIã¹ã¯ãªããçã®ï¼æ å ±ãã¯ã©ã¤ã¢ã³ãå´ï¼ãã©ã¦ã¶çï¼ã«ä¿åãããæ¬¡åã®äº¤ä¿¡æã«ãã®ç¶æ ãå復ãããã¨ããæè¡ã§ãããã®æè¡ã¯ã¯ãããNetscape Communication 社ã«ãã£ã¦ææ¡ããã¾ããã
å æ¥HTTPã§ã¯ããã®æ§è³ªä¸åºæ¬çã«ç¶æ ï¼æ å ±ï¼ãä¿æããäºã¯ã§ãã¾ãããã¨ããããWWWã®æ®åã¨å ±ã«HTTPãæ§ã ãªå ´é¢ï¼ã¤ã³ã¿ã¼ãããã·ã§ããã³ã°ãææãµã¼ãã¹çï¼ã§å©ç¨ãããã«ã¤ãã¦ããã®ç¹æ§ï¼ç¶æ ãä¿æã§ããªãï¼ãä¸ä¾¿ã¨ãªãå ´é¢ãåºã¦ãã¾ãããããã§ãç¶æ ã管çããããã«ããã¾ã§ä½¿ãããä»£æ¿ææ®µï¼URLä¸ã®ç¶æ ãã¨ã³ã³ã¼ããã¦ããçã®ææ®µï¼ã§ã¯ç¡ããã¦ã¼ã¶ä¸äººãã¤ã®ç¶æ ãã¯ã©ã¤ã¢ã³ãã«ä¿æããããã«éçºãããæè¡ãã¯ããã¼ãªã®ã§ãã
次ã®ä¾ã¯ãPHPã«ã¦ã¯ããã¼ãéä¿¡ããä¾ã§ãã
<?php
setcookie ("TestCookie", "xyzzy", time()+3600, "/foo", ".example.com", 0);
?>ä¸ã®ä¾ã§ã¯ãexapmle.com ã®å
¨ã¦ã®ãµããã¡ã¤ã³ã§ã¯ããã¼ãæå¹ã¨ããçºã« .example.com ãã»ãããã¦ãã¾ãããã®ã¯ããã¼ãæå¹ã¨ãªããã¹ã¯ /foo ãªã®ã§ãã¯ã©ã¤ã¢ã³ãããã®ãµã¼ãã® /foo ã«ã¢ã¯ã»ã¹ãã㨠xyzzy ã¨ããå¤ãéä¿¡ããã¾ããããã¦ã¯ããã¼ã®æå¹æéã¯ä¸æéå¾ã«è¨å®ããã¦ãã¾ãã
ä¸ã®ä¾ã®ããã«éä¿¡ãããã¯ããã¼ã®å
容ã¯ã次ã®ä¾ã®ããã«å®ç¾©æ¸ã®å¤æ°$_COOKIEã«ã¯ããã¼ã®åç§°ãæå®ãããã¨ã§è¦ãäºãã§ãã¾ãã
<?php
echo $_COOKIE["TestCookie"];
?>注é
- PHP 4.1.0 ãã以åã®ãã¼ã¸ã§ã³ã®å ´åã¯ã
$_COOKIEã§ã¯ãªã$HTTP_COOKIE_VARSã使ç¨ãã¾ãã - PHP 4.1.0 以éã®ãã¼ã¸ã§ã³ã§ã¯ã
$_REQUESTé åï¼$_GET,$_POST,$_COOKIE,$_FILESã®å å®¹ãæ ¼ç´ãã飿³é åï¼ã§ãã¢ã¯ã»ã¹ã§ãã¾ãã
Cookieã¯ã©ã¹
public class Cookie extends Objectæ§é
- PHP 5
http/Cookie.php
ã³ã³ã¹ãã©ã¯ã¿
public void Cookie(String $arg_1 [, String $arg_2 [, String $arg_3 [, Integer $arg_4]]])- ã¯ããã¼ã®æä½ãè¡ãã¾ãã
- 弿°
String $arg_1- ã¯ããã¼ã®ååã
String $arg_2- ãµã¼ãã¼ä¸ã§ã®ãã¯ããã¼ãæå¹ã¨ããããã¹ãããã©ã«ãå¤ã¯ã¯ããã¼ãã»ãããããã¨ãã®ã«ã¬ã³ããã£ã¬ã¯ããªã
String $arg_3- ã¯ããã¼ãæå¹ãªãã¡ã¤ã³ã
Integer $arg_4- ã»ãã¥ã¢è¨å® [
0=ããã©ã«ã|1=ã»ãã¥ã¢ãªHTTPSæ¥ç¶ã®å ´åã«ã®ã¿ã¯ããã¼ãéä¿¡]
ã¡ã½ãã
public Boolean putCookie( Array $arg_1 [, Integer $arg_2] )public Boolean putCookieBySerialize( Array $arg_1 [, Integer $arg_2] )- ã¯ããã¼ãæ ¼ç´ããã
- 弿°
Array $arg_1- ã¯ããã¼ã«æ ¼ç´ããé åã
Integer $arg_2- ã¯ããã¼ã®æå¹æéã
- è¿ãå¤
setcookie()ãæ£å¸¸ã«å®è¡ãããã¨TRUEã失æããã¨FALSEãè¿ãã
public Array getCookie()public Array getCookieByUnserialize()- ã¯ããã¼ãåå¾ããã
- è¿ãå¤
- ã¯ããã¼ã®æååãé åã«ç½®æãã¦è¿ãã
public void delCookie()- ã¯ããã¼ãåé¤ããã
- è¿ãå¤
- ã¯ããã¼ã®åé¤ã«æåãã㨠TRUE ã失æãã㨠FALSE ãè¿ãã
ã¯ã©ã¹ã®ä½¿ç¨ä¾
次ã®ä¾ã¯ãCookieã¯ã©ã¹ã使ç¨ãããµã³ãã«ã§ãã
<?php
// ãã¡ã¤ã«ã®èªã¿è¾¼ã¿
ini_set("include_path", "./");
// require_once("org/purl/net/osamurai/http/Cookie.php"); // for PHP 4
require_once("http/Cookie.php"); // for PHP 5
// newæ¼ç®åã«ããã¯ããã¼ç¨ã®å¤æ°ã使
// 弿°ã«ã¯ãã¯ããã¼ã®ååãstringåã§æå®ããã
$cookie = new Cookie("COOKIE_NAME");
// 以ä¸ã¯é常ã®å¤
$cookies["name"] = "åç¡ããã";
$cookies["email"] = "foo@example.com";
$cookies["url"] = "http://www.example.com/";
// 以ä¸ã¯é
å
$cookies["like"][] = "design";
$cookies["like"][] = "program";
$cookies["like"][] = "cigarette";
// æ¥æ¬èªãOK
$cookies["hate"][] = "ãé";
$cookies["hate"][] = "èªå";
// ã¯ããã¼æ ¼ç´ï¼é
åâæååï¼
$cookie->putCookie($cookies);
// ã¯ããã¼åå¾ï¼æååâé
åï¼
$cookies = $cookie->getCookie();
// â»ã·ãªã¢ã«å表ç¾ãè¡ãããå ´åã«ã¯ãä¸è¨ã§ã¯ãªãä¸è¨ã®æ¹æ³ã§ã»ã»ã»ã
// ã¯ããã¼æ ¼ç´ï¼ã·ãªã¢ã«åï¼
//$cookie->putCookieBySerialize($cookies);
//
// ã¯ããã¼åå¾ï¼éã·ãªã¢ã«åï¼
//$cookies = $cookie->getCookieByUnserialize();
// åå¾ããã¯ããã¼ã®å¤ã®ç¢ºèª
print_r($cookies);
// ã¯ããã¼åé¤
$cookie->delCookie();
// ä¸å¿
è¦ãªãã°ã夿°ã®å²å½ãè§£é¤ããã
//unset($cookie, $cookies);
?>注é
Cookie ã«è¤æ°ã®å¤ãä¿æããã¨ãã«!
ãåèã«ãã¡ãã£ã¨ã ãæãå ãã¦ã¯ã©ã¹åãããã®ã§ãã- ãå©ç¨ã®éã®æ³¨æäºé ãªã©ãã覧ä¸ããã