Sponsored Link

あざわの備忘録でタグ「cookie」が付けられているもの

OpenPNEのセッション情報はデフォルトでは公開フォルダ内のみで有効です(当然ですね)

でも上位のディレクトリとかでもこのセッション情報を利用したいことってありますよね。例えばヤフーのトップページみたいに通常サイトの右側にログイン情報(○通のメッセージがあります~とかね)の枠とかを作るとか。

こういうときは以下を変更すれば可能です。


/webapp/init.inc の105行目あたり

ini_set('session.cookie_path', $url['path']);

  を
ini_set('session.cookie_path', "/"');

に変更。

次に/webapp/init.inc の

//144行目あたりの
setcookie(session_name(), session_id(), $expire, $this->cookie_path);

//182行目あたりの
setcookie(session_name(), session_id(), $expire, $this->cookie_path);

  を

//144行目あたり
setcookie(session_name(), session_id(), $expire, "/");

//182行目あたり
setcookie(session_name(), session_id(), $expire, "/");

に変更すればサイト全体でセッション情報を活用できるようになります。

しかし!!

この場合はクッキーの有効範囲がサイト全体で有効になるため、そのサイト内で別にクッキーを使っている場合は競合する恐れがあります。もしも同じサイト内でOpenPNEを2つ以上構築している場合でもセッション情報が失われてログイン画面に戻ってしまいます。

セッションとクッキーの知識を装備して、うまく使い分けてください。

最近のブログ記事

PHPでリンク先が存在するかどうかを調べる方法
PHPでリンク先が存在するかどうかを調べ…
PHPで現在実行中のプログラムのディレクトリを調べる方法
<?php $path = dir…
フォーカスの点線を消す方法
AJAXで動的なタブ(Yahooのトップ…