http://www.ezinfo.jp/php/functions/
携帯電話の識別番号を取得しようと思います。
しかし、手元にある、ドコモ端末では、きちんと端末番号を取得できるのに、au(W33SA)では取得できません。
理由のわかる方、教えてください。
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
結論から言うと端末の判別方法が間違っています。
リンク先のコードを見る限り、アクセスのあったIPアドレスを逆引きし、そのホスト名が
/\.ezweb\.ne\.jp/
という正規表現にマッチした場合はAU端末であると判断しています。
しかし実際にAUの公開しているIPアドレスの逆引きを見てみると、kddi.ne.jp ドメインであったり逆引きの設定されていないものもあるようです。
このため、AU端末であるとの判別に失敗し、サブスクライバIDを取得できていません。
auの場合、現在はサブスクライバIDを送信するかどうか、ユーザーが選択できるようになっているそうです。
自分の携帯を確かめてみたのですが、
きちんと送信できているようです。
ユーザが「送出しない」設定にした場合、本フィールドは送出されません。
http://www.au.kddi.com/ezfactory/tec/spec/4_4.html
http://www.au.kddi.com/news/information/au_info_20050404.htm...
自分の携帯を確かめてみたのですが、
きちんと送信できているようです。
自分の携帯を確かめてみたのですが、
きちんと送信できているようです。
端末情報を表示するときにどのようなスクリプトを書いていますか?表示されないにはさまざまな原因があるので、一概に言えません。
あのスクリプトだと
list($ser,$icc,$srn,$ezn) = getmobilepr($_SERVER['HTTP_USER_AGENT']);
echo $ezn;
でEZ番号は表示されますか?
関数内でこけてるorhtmlが正しく出力されてないなど色々原因あるかと思うのでとりあえず、簡単なphpスクリプトで確認してみては?
<html>
<head></head><body>
<?echo $_SERVER['HTTP_X_UP_SUBNO'];?>
</body></html>
http://www.au.kddi.com/ezfactory/tec/spec/4_4.html
>HTTP Requestヘッダ情報では、この他にHTTP_X_UP_SUBNOフィールドにてEZ番号が確認できます。
・・・?どういうことでしょうか?