はじめて投稿いたしました。
この度、携帯で会員制のコンテンツをリリースする予定でおりまして、
会員認証の場面等でサブスクライバIDをキーとしてユーザー判別を行お
うとしております。
そこで、色々なサイトを参考とさせて頂きながら、下記の様なソースで
サブスクライバIDを取得を試みました。
その結果、ドコモとAUは問題ありませんでしたが、SB携帯だけサブスクラ
イバIDの取得ができませんでした。
SB公式サイトや各種情報サイトを参考に、色々ソースをいじってみたので
すが、どーにも取得できません。
恐れ入りますが、どなたかお分かりになる方、不具合点のご指摘をお願い
申し上げます。
---以下、ソース------------------------
$UA = $_SERVER['HTTP_USER_AGENT'];
$HostName = @gethostbyaddr($_SERVER['REMOTE_ADDR']);
// DoCoMo
if ( preg_match("/.docomo.ne.jp/", $HostName) )
{
preg_match("/ser([a-zA-Z0-9]+)/",$UA, $dprg);
if ( strlen($dprg[1]) === 11 )
{
$MobileInfo = $dprg[1];
}
elseif ( strlen($dprg[1]) === 15 )
{
$MobileInfo = $dprg[1];
preg_match("/icc([a-zA-Z0-9]+)/",$UA, $dpeg);
if ( strlen($dpeg[1]) === 20 )
{
$MobileInfo = $dpeg[1];
}
else
{
$MobileInfo = false;
}
}
else
{
$MobileInfo = false;
}
}
//SBの処理はここから
elseif(preg_match("Vodafone",$UA) || preg_match("SoftBank",$UA ) )
{
// SoftBank
if ( preg_match("//SN([a-zA-Z0-9]+)//",$UA,$vprg) )
{
$MobileInfo = $vprg[1];
}
else
{
$MobileInfo = false;
}
}
//SBの処理はここまで
elseif ( preg_match("/.ezweb.ne.jp/", $HostName) )
{
// au
$MobileInfo = $_SERVER['HTTP_X_UP_SUBNO'];
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1の方の回答に加えて
elseif( preg_match("Vodafone",$UA) || preg_match("SoftBank",$UA ) )
↓
elseif( preg_match("/Vodafone/",$UA) || preg_match("/SoftBank/",$UA ) )
こいつもデリミタが必要じゃないですかね。
ざっと見では他に異常はなさそうです。
// VodafoneはJ-Phone系のものとモトローラ製端末でも振り分けが必要だった気もしますが
早速のご返答ありがとうございました。
ただ、せっかく教えて頂いたのですが、やはり上手く取得できませんでした。プログラムソースの先頭に記載してあるので、他の関数等の影響は受けていないはずなのに・・・
端末の設定も見直しましたが問題なく、知人の協力で複数のSB携帯を使って試して見ましたが・・・どーにも。
ちょっと携帯関連の技術サイトを再度まわりながら検討したいと思います。
No.1
- 回答日時:
ざっとしか見ていませんが
> if ( preg_match("//SN([a-zA-Z0-9]+)//",$UA,$vprg) )
を
if ( preg_match("/\/SN([a-zA-Z0-9]+)\//",$UA,$vprg) )
としないと駄目じゃないですか?デリミタが/なので、エスケープする必要があります。
早速のご返答ありがとうございました。
早速試してみましたが、やはりうまく取得できませんでした。DocomやAUでは問題なく取れてるのに・・・
手元にSB携帯がないので、確認に時間がかかりますが、教えていただきました内容を元に、ちょっと色々考えたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
漢字を含んだ正規表現
-
PHP 「あいまい検索」を行う関...
-
Excelで数字のみを2倍3倍にする...
-
正規表現
-
preg_matchでエラーが出ます。
-
[PHP] preg_match_all関数を使...
-
正規表現を使いimgタグ内から幅...
-
preg_matchで Warning: Undefin...
-
HTMLタグだけにマッチする正規...
-
文字の入力で横バー上段、中断...
-
エスケープ文字の復帰(¥r)と...
-
C言語について。
-
VBAのコマンドボタンの文字列の...
-
パソコンで全角、半角文字の切...
-
sedでの最短一致の書き方
-
PHPの正規表現の意味を教えて下...
-
Excel VBAからBeckyを起動して...
-
エクセルでの漢字、カタカナ、...
-
textarea , PHP, 確認画面 改行
-
改行コード(CR/LF)の設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで変数から1行目だけを取得...
-
PHPで<a>タグ内からURLと文字を...
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現で「0」のみ抽出
-
「半角数字」と「+」を許可する...
-
正規表現パターンの記入方法に...
-
正規表現で特定のHTMLタグのク...
-
PHPで あるフォルダ内の、特定...
-
phpで文字列に"や'などが含まれ...
-
電話番号のチェック ハイフン...
-
正規表現で不正文字
-
Smartyで部分一致
-
Smartyを使用した、テンプレー...
-
http://とhttps://のどちらでも...
-
正規表現でシングルクォーテー...
-
PHPの正規表現で住所を分けるに...
-
PHPメールフォーム URLと半角...
おすすめ情報