PHPプログラムに関する各種メモ書き

携帯サイトなどCookieを使えないクライアントの場合に自動でセッション変数をURIに埋め込む

(一部の)携帯などでcookieを使えない場合にセッションIDをURIに埋め込んで使用する方法が一般的です。

そこで

・cookieを受け付けるときはcookieを使用したセッション。

・cookieを受け付けないときはURI埋め込みを使用したセッション。

を実現します。

php.ini の設定

session.use_cookies = 1
session.use_only_cookies = 0

としてapache をリスタート

apachectl graceful

で準備OK。

後はPHPスクリプト内で

定数SID が存在するブラウザの場合 → cookie使用不可(携帯など)

定数SID が存在しないブラウザの場合 → 通常のWEBブラウザ

で判別できます。

session_start();
if (SID){
	// cookieを使えないブラウザの処理
}
else {
	// cookieを使えるブラウザの処理
}

関連エントリー

No.489
04/21 10:18

edit

携帯スマホサイト
Cookie
セッション