こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ソフトバンクのUSERAGENTうまく取得できない

下記のようにUser-Agentを取得し、
各キャリア別に振り分けているんですが、
ドコモ、kddi、PCはきちんと判定してそれぞれを
表示してくれますが、
ソフトバンク、ボーダフォン、j-phoneがうまく
判定してくれません。

ソフトバンクのソフト(ウェブコンテンツビューア)だと
パソコン版が表示され、実際の携帯でみるとau画面が表示されて
しまいます。

どなたかお力をおかしください。



<?
$header = getallheaders();
$agent = $header["User-Agent"] ;

if(ereg("DoCoMo",$agent)){
header("Location: http://www.aaa.com/mobi/i/index.html");
exit;
}
elseif(ereg("UP.Browser",$agent)){
header("Location: http://www.aaa.com/mobi/e/index.html");
exit;
}
elseif(ereg("SoftBank",$agent)){
header("Location: http://www.aaa.com/mobi/v/index.html");
exit;
}
elseif(ereg("Vodafone",$agent)){
header("Location: http://www.aaa.com/mobi/v/index.html");
exit;
}
elseif(ereg("J-PHONE",$agent)){
header("Location: http://www.aaa.com/mobi/v/index.html");
exit;
}
else{
header("Location: http://www.aaa.com/mobi/home.html");
exit;
}
?>

投稿日時 - 2007-04-24 16:08:38

QNo.2946843

困ってます

質問者が選んだベストアンサー

あんまり"ereg"関数は使いませんが、下記のソースでちゃんと分岐しますか?
コメント部分を変更して試して見てください。

-----------
if ( preg_match('/^DoCoMo/', $_SERVER['HTTP_USER_AGENT']) ) {
// DoCoMo
} elseif ( preg_match('/^(J-PHONE|Vodafone|SoftBank)/', $_SERVER['HTTP_USER_AGENT']) ) {
// Softbank(Vodafone, J-Phone)
} elseif ( preg_match('/UP\.Browser/', $_SERVER['HTTP_USER_AGENT']) ) {
// au
} else {
// etc
}

投稿日時 - 2007-04-24 22:48:42

補足

回答ありがとうございます。
結果としてソフトバンクは
ビューアで観るとPC
ソフトバンク携帯で観ると au
の画面になってしまいます。

これはおそらく、スクリプトの誤りというより
サーバーが原因なのではないかと思い始めてしまいました。
xrea.comを使用しています。
このサーバーで各関数が全て使える環境には
あるのです。

サーバーの方も調べてみます。
どうもLocation:があやしいようです…

投稿日時 - 2007-04-25 00:34:10

お礼

調べてみましたが
サーバーには問題ないようです。

ちなみに
SoftBankの3GにはAUと同じUP.Browserが含まれるものも
あるんですね。これでは混同してしまいますね

投稿日時 - 2007-04-25 01:21:19

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ソース中の下記の部分を変更してみてください。

----------------
> $header = getallheaders();
> $agent = $header["User-Agent"] ;

   ↓   ↓   ↓

$agent = $_SERVER['HTTP_USER_AGENT'];
----------------

投稿日時 - 2007-04-24 18:27:32

補足

ありがとうございます。
早速試してみました。やはり、ソフトバンク、ボーダフォン、j-phone分はうまく作動していないようです。
機種で試してはいませんが、
iモードもauもビューアでも確認できるんですが…
致命的な欠陥があるんでしょうか…

投稿日時 - 2007-04-24 19:34:43

あなたにオススメの質問