« PHP 要点のみの備忘録 (メール送信) | トップページ | PHP 要点のみの備忘録 (計算系関数) »

2011.03.09

PHP 要点のみの備忘録 (cookie,SESSION)

■クッキー(cookie)

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

http://www.php.net/manual/ja/function.setcookie.php

ex) 1ヶ月間cookie保持させる

$user_id = $_POST["user_id"];
$user_pwd = $_POST["user_pass"];

setcookie("user_id",$user_id, time()+60*60*24*30);
setcookie("user_pwd",$user_pwd, time()+60*60*24*30);

$_COOKIE['user_id'];
$_COOKIE['user_pwd'];

■セッション(SESSION)

php.iniの設定

1.session.use_trans_sid = on
2.session.save_path = 任意のディレクトリ
3.session.auto_start = 0 or 1

1.でセッションIDの引渡しを自動化. offにすると自身でセッション管理の
ロジックを組む必要がある.
2.はセッション情報の保存先
3.はセッションの自動開始ON/OFF.1にしておけば以下のsession_start()は不要

session_start();

で、セッションを初期化する. 2回目以降は、セッションIDが引き渡された場合、
セッションデータを取得する.

session_destroy();

セッションに登録されたデータを全て破棄することができる.
セッションクッキーは破棄されない.

ユーザがログアウトするようなときは,セッションIDの割り当て自体も削除する必要がある.
デフォルトの場合、セッションIDはcookie管理されるので忘れない

<?php
// セッションの初期化
// session_name("something")を使用している場合は特にこれを忘れないように!
session_start();

// セッション変数を全て解除する
$_SESSION = array();

// セッションを切断するにはセッションクッキーも削除する。
// Note: セッション情報だけでなくセッションを破壊する。
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// 最終的に、セッションを破壊する
session_destroy();
?>

http://www.php.net/manual/ja/function.session-destroy.php

■リダイレクト

まあ、PHPでってわけじゃないけどね

$redirect_url = "http://wasyoi-navi.com/index.html";

header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$redirect_url );
         
exit();

« PHP 要点のみの備忘録 (メール送信) | トップページ | PHP 要点のみの備忘録 (計算系関数) »

PHP」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/567367/51075322

この記事へのトラックバック一覧です: PHP 要点のみの備忘録 (cookie,SESSION):

« PHP 要点のみの備忘録 (メール送信) | トップページ | PHP 要点のみの備忘録 (計算系関数) »