はじめて投稿いたしました。
この度、携帯で会員制のコンテンツをリリースする予定でおりまして、
会員認証の場面等でサブスクライバ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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- MySQL php テーブルを作れない 2 2022/11/17 18:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで変数から1行目だけを取得...
-
PHPの正規表現で住所を分けるに...
-
VBAを使ってHTMLソースから特定...
-
Excelで数字のみを2倍3倍にする...
-
HTMLファイルからCSSファイル名...
-
preg_matchでエラーが出ます。
-
正規表現で特定のHTMLタグのク...
-
、"(ダブルクォーテーション)...
-
$aと$bが一文字でも一致したらt...
-
サイトが移動しました(301)が...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
メッセージボックスで1025文字...
-
ファイルから読み取った改行文...
-
改行について
-
ダブルコーテーション(
-
文字の入力で横バー上段、中断...
-
C++でのCRLFについて
-
半角英数字のみを受け付ける入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを使ってHTMLソースから特定...
-
、"(ダブルクォーテーション)...
-
preg_matchでエラーが出ます。
-
PHPで変数から1行目だけを取得...
-
PHPの「ereg」って何の略で...
-
PHPの正規表現で住所を分けるに...
-
PHPで あるフォルダ内の、特定...
-
Excelで数字のみを2倍3倍にする...
-
正規表現で「0」のみ抽出
-
PHPで<a>タグ内からURLと文字を...
-
住所から特定の文字列、数値を...
-
正規表現で、半角大文字と半角...
-
正規表現で特定のHTMLタグのク...
-
正規表現でシングルクォーテー...
-
正規表現パターンの記入方法に...
-
Smartyで部分一致
-
preg_matchでのマッチが正しく...
-
正規表現を使いimgタグ内から幅...
-
PHPメールフォーム URLと半角...
-
電話番号のチェック ハイフン...
おすすめ情報