Cookieの読み書き

クッキーの書き込み

setcookie($cookieName,$value,$timeout,$path,$domain);
これはクライアントに対する最初の出力である必要があります。
これより前に<html>など出力しないこと。
 $cookieName=クッキーの名前;
 $value=保存したい内容;
 $timeout=有効期限;
 $path=このクッキーが有効なパス;
 $domain=このクッキーが有効なドメイン;

 クッキーの読み込み:$cookie=$_COOKIE[$cookieName];

 クッキーの削除$timeout=0;にして書き出すことにより、ブラウザが閉じられた時点で削除されます。

基本

#クッキーの書き出し
$value = "名前,メールアドレス,URL";
$timeout = time() + 30 * 86400;#現在の時刻 + 30日 * (24時間 * 60分 * 60秒)
setcookie("sakura-pc",$value,$timeout,'/','www.sakura-pc.jp');

#クッキーの読み出し
$cookie=$_COOKIE["sakura-pc"];#$cookie = "名前,メールアドレス,URL"

#クッキーの削除
setcookie("sakura-pc",,0,'/','www.sakura-pc.jp');

配列への読み込み

#配列での読み込み
$cookie=explode(",",$_COOKIE["sakura-pc"]);
 /* $cookie[0] = "名前";
    $cookie[1] = "メールアドレス";
    $cookie[2] = "URL";
 */

#配列での分割読み
list($name,$mail,$url)=explode(",",$_COOKIE["sakura-pc"]);
 /* $name = "名前";
    $mail = "メールアドレス";
    $url = "URL";
 */

応用

#フォーム入力から名前だけを受け取って更新。(メールとURLは元のまま削除しない)

$cookie = cook_out();
$cookie[0] = $_POST["name"];
cook_in($cookie);

function cook_out(){#Cookieの取得
 $cookie=explode(",",$_COOKIE["sakura-pc"]);
 return $cookie;
}

function cook_in($cook){//Cookieの保存
 $timeoutday=30;
 $timeout=time()+$timeoutday*86400;
 $value=join(",",$cook);//「,」文字で配列を結合
 setcookie("sakura-pc",$value,$timeout,'/','www.sakura-pc.jp');
}

アンケート

評価を選んで下さい

参考になった
理解できたが参考にはならなかった
理解できなかった

該当するものを選んで下さい

書かれていることが難しい
書かれていることが理解しやすい
内容が乏しい
内容が充実している

感想や意見があれば記入して下さい。
サイト作りの参考にさせていただきます。

このページのトップへ ▲