クッキーの書き込み
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');
}