人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

やりたいこととしては、モバイルサイトに携帯用のGoogleアナリティクスを設置して、
アクセス解析をしたいということです。

携帯の絵文字を共通させる機能を使って、1ページで3キャリア対応させているページになっているようです。
私自身が制作したページではなく、渡されて解析を仕込むことになったのですが、携帯版はPC版と違って、
いろいろと複雑なようで、上手く解析ができない状態ですが、急がなくてはならず困っております。

私自信PHPが分かるというわけではなく、HTMLを組むことはできますが、モバイルもあまり経験もなく、
WEB上で検索して見つかるエントリーを試していってはいるのですが、上手くいっておらず、
ご質問をさせていただければと思っております。

動かないときの状況として、
';?>という</body>の前の部分が表示されてしまったり、もしくは画像が表示されないなどの状況が起こっております。

詳細環境等ははてな日記にて記入しております。
必要であれば日記もしくは返信にて追記します。

http://d.hatena.ne.jp/tak7910/

●質問者: tak7910
●カテゴリ:インターネット ウェブ制作
✍キーワード:Google HTML pc PHP Web
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● koriki-kozou
●19ポイント

一部が見えてしまっている原因は携帯電話側ではない

文字コードの問題がまず挙げられる


phpスクリプトファイルはサーバの仕様にあわせた形式で保存する必要がある

日記によると x-server のようなので

・文字コード EUC-JP

・改行コード LFのみ

としておく必要があるでしょう


URL必須に変わった(先ほど投稿しようとしたら全て消えた。悲しい)のでとりあえずエディタを書いておく

サクラエディタ

http://sakura-editor.sourceforge.net/

◎質問者からの返答

ありがとうございます。

>一部が見えてしまっている原因は携帯電話側ではない

僕もそう思います。

一応エディタでEUC-JP

LFのみという

ことでファイルを保存して上げ直しました。

こちらMacしか今使えるPCがないため、Mac用のエディタを使用しているせいでしょうか。

やはり症状変わらずでした。

せっかくのアドバイスを無にしてしまったようで申し訳ございません。

http://www.kagua.biz/mobile/ga-ketai-kiso.html

こちらのサイト様からつまずきやすい部分っていうのは読んでたのですが、

PHPをHTMLで動かすという部分とga.phpのパスも合っているかが不安です。


2 ● hanako393
●19ポイント

ヘッダーが妥当出ない可能性が高いです。

http://dspt.blog59.fc2.com/blog-entry-36.html

>モバイルサイトに携帯用のGoogleアナリティクスを設置して、

文字コードが重要だったはずです。

詳しくは、Googleの情報ページで確認してください。

◎質問者からの返答

回答ありがとうございます。

1番の回答の方のご意見も文字コードだったので、やってみたのですが、

上手くいきませんでした。

私自身の知識不足であることは否めないので、回答をいただける方には

非常に申し訳なく思っております。

本当はやらないで済むのであれば助かるのですが、そうも言ってられなくて。


3 ● tobeoscontinue
●18ポイント

ソースを見てみると

<?php</ppp>
 header("Content-type: application/xhtml+" );

<?php</ppp>
 $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();

のようになっています。

<?phpだけで</ppp>は余分ですので取り去って下さい。


$GA_PIXEL = "../ga.php";

だと

$url = "http://○○○.com/";

$url .= $GA_PIXEL . "?";

$url = "http://○○○.com/../ga.php?";

となります。ga.phpはhtdocsの直下だと思うので

$GA_PIXEL = "ga.php";

だと思います。


http://q.hatena.ne.jp

◎質問者からの返答

ありがとうございます。

</ppp>はきっとはてな日記への埋め込み方が悪かったせいだと思いますので、大丈夫です。

../は修正しました。

../は解析したい位置からの相対パスなのかと思ってしまって、そのようにしてみました。

解説いただいたおかげで、ga.phpのパスについては大丈夫だと思います。

しかし、</body>の直前に

$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();

echo '';?>

というコードを埋め込んでいるのですが、';?>の部分が一番下の帯より下に表示されてしまうので、

HTML上でPHPが上手く動いてなさそうな気がしています。

あくまで素人考えなので間違いなのかも知れませんが。

やはりヘッダーに

header("Content-type: application/xhtml+" );

を埋め込むだけではなくphp.iniなども弄る必要があるのでしょうか?

x-serverの旧サーバは.htaccessで対応するようですが、php.iniの設定は

探せましたが、.htaccessについてはわからずで。

ここで質問をしながら検索をずっとしてて、試したことが小出しになってしまって

申し訳ありません。


4 ● tobeoscontinue
●18ポイント

検討が十分でありませんでした。二度目の回答ですみませんorz。

<?php
 header("Content-type: application/xhtml+xml" );

// Copyright 2009 Google Inc. All Rights Reserved.

$GA_ACCOUNT = "hoge";

$GA_PIXEL = "ga.php";

function googleAnalyticsGetImageUrl() {
 global $GA_ACCOUNT, $GA_PIXEL;
 $url = "http://hoge.com/";
 $url .= $GA_PIXEL . "?";
 $url .= "utmac=" . $GA_ACCOUNT;
 $url .= "&utmn=" . rand(0, 0x7fffffff);
 $referer = $_SERVER["HTTP_REFERER"];
 $query = $_SERVER["QUERY_STRING"];
 $path = $_SERVER["REQUEST_URI"];
 if (empty($referer)) {
 $referer = "-";
 }
 $url .= "&utmr=" . urlencode($referer);
 if (!empty($path)) {
 $url .= "&utmp=" . urlencode($path);
 }
 $url .= "&guid=ON";
 return str_replace("&", "&amp;amp;", $url);
}

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>テスト</title>
</head>
<body>
===========中略======================
<?php
 $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
 echo '<img src="./' . $googleAnalyticsImageUrl . '">';?>
</body>
</html>

のようにすると下記の結果を得ました。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>テスト</title>
</head>
<body>
===========中略======================
<img src="./http://hoge.com/ga.php?utmac=hoge&amp;utmn=852875499&amp;utmr=-&amp;guid=ON"></body>
</html>
return str_replace("&", "&amp;", $url);
は必要が無いので
return $url;
とする。

echo '<img src="./' . $googleAnalyticsImageUrl . '">';?>

の./は余分なのでカット

echo '<img src="' . $googleAnalyticsImageUrl . '">';?>


>>';?>の部分が一番下の帯より下に表示されてしまう

?>はphpの一部なので本来は表示されないはずです。

中略している部分で""ゃ''の対応やエスケープに問題が無いか確認してみて下さい。


PCからのアクセスを許可しているのならブラウザーでソースを見ることでphpが動いているのかどうかは確認できます。

http://hatena.com

◎質問者からの返答

aaaaaaa ';?>

返信が遅れてしまい、申し訳ございません。

試してみました。

試しに中略の部分を適当な文字列「aaaa」などに打ち変えて

きちんと表示されるか試したところやはり、';?>

が表示されてしまったので、PHPとして動いてないような気がします。

他のサイトで良く紹介されたコードで

$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();

?>

としてみるとリンク切れした画像が表示されていました。


5 ● tobeoscontinue
●18ポイント ベストアンサー

PHPとして動いてないような気がします。

確かにPHPとして動いていない場合、おっしゃるように表示されました。失礼しました。

.htaccessの設定の

AddType x-httpd-php .html

AddType application/x-httpd-php .html

と変更して下さい。


また

header("Content-type: application/xhtml+xml" );

としているためにXMLパーサが動くようで前回

return $url;

とすると言ったのは間違いで

return str_replace("&", "&amp;", $url);

と元のとうりにして下さい。


また<img>も<img />のように記述する必要があるので

echo '<img src="' . $googleAnalyticsImageUrl . '">';

echo '<img src="' . $googleAnalyticsImageUrl . '" />';

として下さい。

<img src="<?php echo $googleAnalyticsImageUrl ?>">

の方を使うなら同じように

<img src="<?php echo $googleAnalyticsImageUrl ?>" />

として下さい。


htdocsでのAddTypeの設定がどうなっているか不明ですが

AddType application/x-httpd-php .html

のような感じだとga.phpもphpとして動作しないかもしれません。

その場合は

AddType application/x-httpd-php .php

としてみて下さい。

http://hatena.com


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ