(一部の)携帯などで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を使えるブラウザの処理 }