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

解決済みの質問

このコードの使い方は間違ってますか??

$id = $_SERVER['HTTP_USER_AGENT'];
if(strstr($id, "DoCoMo")){
$uid = $_SERVER['HTTP_X_DCMGUID'];
echo "$uid";
}else if(strstr($id, "J-PHONE|Vodafone|SoftBank")){
$uid = $_SERVER['HTTP_X_JPHONE_UID'];
echo "$uid";
}else if(strstr($id, "KDDI")){
$uid = $_SERVER['HTTP_X_UP_SUBNO'];
}

固体識別情報を取得するコードです。
他サイトでstrstr()の使い方が間違えてると言われましたが、どう間違えてますか??

投稿日時 - 2011-12-13 14:05:44

QNo.7187464

すぐに回答ほしいです

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

> strstr($id, "J-PHONE|Vodafone|SoftBank")
これでは $id 内に "J-PHONE|Vodafone|SoftBank" という文字列が含まれているかどうかを判定していることになり、多分あなたの意図しているであろう $id 内に "J-PHONE" か "Vodafone" か "SoftBank" のいずれかが含まれているかどうかの判定にならない。

どう変更したらいいかは自分で考えてください。

投稿日時 - 2011-12-13 14:26:04

お礼

ありがとうございます。早速試してみます。

投稿日時 - 2011-12-13 16:07:04

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

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

回答(2)

ANo.2

J-Phone等にはそれぞれ値が入っているのですよね?

すみません、勘なのですが、
5行目の
}else if(strstr($id, "J-PHONE|Vodafone|SoftBank")){
を、
}else if($J-PHONE || $Vodafone || $SoftBank == strstr($id, '@')){
こんな感じにしてみてはどうでしょう?
間違っていたらごめんなさい。

参考:http://php.net/manual/ja/function.strstr.php

参考URL:http://php.net/manual/ja/function.strstr.php

投稿日時 - 2011-12-13 15:37:32

あなたにオススメの質問