サーバーが発行したデータをブラウザ側の所定の位置に保存する仕組み
ブラウザは受け取ったクッキーデータを保存しておく | |
ブラウザは次回要求時に、受け取ったクッキーをサーバーに提示する。 サーバー側では、以前アクセスしてきたブラウザかどうか特定する。 |
ブラウザを識別するためのPHPの機能。
クッキーや<input>タグのhidden属性のしくみを利用する。
サーバーが発行したID(セッションID)をクッキーなどでブラウザに送る。 サーバー側では、やりとりに関する情報(セッション情報)や変数をセッションIDごとに管理する | |
ブラウザは次回要求時に、受け取ったデータをサーバーに提示する。 サーバー側では、受け取ったIDから、以前のデータを参照する。 |
<?php setcookie('val', 100); ?>
val クッキー名
100 クッキーの値
※発行したクッキーの内容はブラウザ側に保存される
<?php setcookie('val', 100, time()+60); ?>
有効期限を秒単位で指定する 発行時刻より60秒間有効
不要なクッキーは有効期限を過去の時間にして削除する
<?php setcookie('val, "", time()-60); ?>
クッキーの値「""」 使われない 期限を過去の時間にしてクッキーのデータを削除
$getval = $_COOKIE['val'];
ブラウザからサーバーに送られたクッキー情報は、スーパーグローバル変数$_COOKIEで受け取る。
クッキー情報が送られなかったときの値はNULLになる。
<?php setcookie('val', 100); ?> ・・・クッキーを発行する <html> <body> <?php $getval = $_COOKIE['val']; ・・・クッキーを受け取る print "ページ1の値は $getval です。<br />\n"; ?> <a href='cookie2.php'>ページ2へ</a> ・・・cookie2.phpにリンク </body> </html>
<html> <body> <?php $getval = $_COOKIE['val']; ・・・クッキーを受け取る print "ページ2の値は $getval です。<br />\n"; ?> <a href='cookie.php'>ページ1へ</a> ・・・cookie.phpにリンク </body> </html>
-cookie.php- ページ1の値は です。 ―クッキーを発行するが、まだ値を受け取っていない ページ2へ クリック↓ -cookie2.php- ページ2の値は 100 です。 ―クッキーを受け取り値を表示 ページ1へ クリック↓ -cookie.php- ページ1の値は 100 です。 ―クッキーを受け取り値を表示 ページ2へ
※このようにならない!
<?php session_start(); ?>
スーパーグローバル変数$_SESSIONに値を格納すると、同一のセッションで値を共有できる。
このような変数を「セッション変数」という
$_SESSION['bridge'] = 100; bridge セッション変数($をつけない) 100 セッション変数の値
session_register('bridge'); $bridge = 100;
bridge セッション変数名($をつけない) $bridge セッション変数名と同じ名前にする 100 セッション変数の値
<?php session_start(); ・・・セッション開始を宣言 ?> <html> <body> <?php $_SESSION['bridge'] = 100; ・・・セッション変数を登録 $b = $_SESSION['bridge']; ・・・セッション変数を受け取る print "ページ1の値は ".$b." です。<br />\n"; ?> <a href='session2.php'>ページ2へ</a> ・・・session2.phpにリンク </body> </html>
<?php session_start(); ・・・セッション開始を宣言 ?> <html> <body> <?php $b = $_SESSION['btidge']; ・・・セッション変数を受け取る print "ページ2の値は ".$b." です。<br />\n"; ?> <a href='session.php'>ページ1へ</a> ・・・session.phpにリンク </body> </html>
-cookie.php- ページ1の値は です。 ページ2へ クリック↓ -cookie2.php- ページ2の値は 100 です。 ―セッション変数が受け渡される ページ1へ クリック↓ -cookie.php- ページ1の値は 100 です。 ―セッション変数が受け渡される ページ2へ前へ 次へ