iモードID取得を試しておく
shimookaさんのトコでも上がってましたが、ドコモのiモードIDが取得できるようになったので、とりあえず試しておこうと思います。
PEAR::Net_UserAgent_Mobileを使う場合を考えると、こんな感じですかね〜。
<?php require_once 'Net/UserAgent/Mobile.php'; $agent = &Net_UserAgent_Mobile::singleton(); $serialNumber = ''; switch( true ) { case ($agent->isDoCoMo()): // DoCoMoの場合 if ( isset($_SERVER['HTTP_X_DCMGUID']) ) { $serialNumber = $_SERVER['HTTP_X_DCMGUID']; } elseif ( method_exists($agent,'getSerialNumber') ) { $serialNumber = $agent->getSerialNumber(); } break; case ($agent->isVodafone()): // Vodafoneの場合 if( method_exists($agent,'getSerialNumber') ) { $serialNumber = $agent->getSerialNumber(); } break; case ($agent->isEZweb()): // auの場合 if( isset($_SERVER['HTTP_X_UP_SUBNO']) ) { $serialNumber = $_SERVER['HTTP_X_UP_SUBNO']; } break; default: break; } ?>
一応、後方互換を考えて、formタグにutnを使った場合の処理も残してあります。
この場合、
<form action="index.php?guid=ON" method="POST" utn>
とかしたらどうなるんだろう…と思ってやってみたら、"IDを送ってもいいですか?"っていう画面が出てきたけど、X-DCMGUIDヘッダも送られてくるので、7桁のiモードIDの方が取得されました。…まぁ、当たり前か…。(^^;ゞ
しっかし、もう散々他で叩かれてますが、httpsでIDが取れないのはいかがなものかと…。