WebデザインノートBOOK

Webクリエイターに関する勉強を書き記したブログになります。

cookie・session|PHP

cookie

<?php
$myId = $_POST['my_id'];

setcookie('my_id', $myId, time() + x);
?>

$_POSTはinput領域に入力された値の取得ですね。
setcookie()の引数は、
第1引数:クッキー名
第2引数:クッキー値
第3引数:クッキー有効期限
第4引数:有効範囲パス
第5引数:有効ドメイン
第6引数:セキュリティ(trueを設定するとHTTPS接続の場合にのみクッキーが送信される。デフォはfalse)
第7引数:http(知らなくていいと思う…)
実行後は、成功するとtrue 、失敗するとfalseを返す。

<?php
if (isset($_COOKIE['my_id'])) {
	$myId = $_COOKIE['my_id'];
} else {
	$myId = '';
}
?><input type="text" name="my_id" id="my_id" value="<?php echo $myId; ?>"

上記phpソースの中で、ページへ入る度に変数「my_id」へ設定する。
cookieが保存されている場合は中に記録されているID名を、
cookieが保存されていない場合は空の値を、
それぞれID入力欄へと書き込む。


session

<?php
session_start();
if (isset($_POST['my_id'])) {
	$_SESSION['my_id'] = $_POST['my_id'];
}
?>

$_SESSIONでinput領域に入力された値を保存する。
session_start()関数でセッションの生成・復元を行う。

<?php
session_start();

session_unset();
header('Location: input.php');
?>

session_unset()関数でセッションの解除。
header()関数は、指定したURLへリダイレクトを行うものです。
この場合は、再度ID入力画面へ飛ばし、セッションが切れたことを伝える意味を表しています。