PHP COOKIE(クッキー)にログイン情報を記録 取り出し
2011.04.06
この記事は最終更新日から1年以上が経過しています。
会員サイトでよく利用されているcookieの設定方法です。
cookieにログイン情報を保存する事によって、次回から入力しないでログインが可能となります。
セッションとの違いは、セッションはブラウザを閉じると
消えてしまい、cookieは情報を 次回まで残しておく事が可能となります。
PHP
// ログイン情報を記録する if($_POST['save'] == 'on') { setcookie('email',$_POST['email'],time()+60*60*24*7); setcookie('password',$_POST['password'],time()+60*60*24*7); }「記録する」などのチェックボックスを用意し、name=”on”と記述した例です。
「記録する」にチェックが入っていると、setcookie関数によってcookie emailに
$_POSTのemailが代入。passwordも同様です。
time()関数 +60*60*24*7は 60*60*24*7秒 つまり 7日間cookieに保存してください。
と設定しています。
7の部分を変更すると日付を変更できます。
では、cookieに保存した情報の取得方法です。
PHP
if($_COOKIE['email'] != '') { $_POST['email'] = $_COOKIE['email']; $_POST['password'] = $_COOKIE['password']; $_POST['save'] = 'on'; }$_COOKIE[’email’] != ” cookieの値が空ではない場合、つまり
cookieに保存してアクセスした場合、
$_POST[’email’]にCOOKIEに格納されている’email’の値を代入。
passwordも同様。
そして、再び’save’の値にonを代入する事によって、
更に7日間、つまり最後にアクセスして7日間cookieに保存する事になります。
記述の順番は取り出し設定を先に記述すると良いでしょう。
PHP
if($_COOKIE['email'] != '') { $_POST['email'] = $_COOKIE['email']; $_POST['password'] = $_COOKIE['password']; $_POST['save'] = 'on'; } if($_POST['save'] == 'on') { setcookie('email',$_POST['email'],time()+60*60*24*7); setcookie('password',$_POST['password'],time()+60*60*24*7); }てな感じになります。