notebook510

備忘録とか覚え書き的なところを想定しています

PHP入門 第7回 cookieとsession

今回は、cookieとsession

 

cookieの送信

setcookie 関数を使って送信

サンプルコード

 <?php
setcookie("count",1);
echo $_COOKIE["count"];

setcookie関数で、$_COOKIE配列に格納されます。

 

cookieの編集

サンプルコード

<?php
$data = $_COOKIE["count"] + 1;
setcookie("count",$data);

 

setcookieを経由せず、いきなり$_COOKIE["example"] などと
書いても動作しません。

 

参考:

PHP: $_COOKIE - Manual

 

cookieが送信されているか判別する

サンプルコード

<?php
if( isset($_COOKIE["name"]) ){
echo $_COOKIE["name"];
}else {
echo "送信されていません。";
}

 isset関数で判別します。

 

cookieを期限付きで送信する

サンプルコード

<?php
setcookie("name","makoto",time()+3600);

上記のサンプルは、time関数を使って現在時刻を呼び出し、
3600秒(1時間)を足して期限を設けています。

 

連想配列

定義済みの変数$_COOKIEに格納された値を出力するのに
連想配列が使われます。

 

配列の内容は

<?php
print_r($_COOKIE);

print_rで出力すると確認できます。

 

sessionの送信

サンプルコード

<?php

session_start();

$_SESSION["score"] = 80;

cookieは、ユーザーのPCに保存されます。

sessionは、Webサーバーに保存されます。

 

ログイン名など比較的長いスパンで保存するものはcookie、
ショッピングカートに入れた商品など短い期間で変化しそうなものには、
sessionを使います。

 

sessionの表示

サンプルコード

<?php
session_start();
echo $_SESSION["score"];