7 月 13

私の管理しているサイトもスマートフォンからのアクセスが増えてきたので、一部でモバイルadsenseを試してみることにしました。

PHPのサイトにモバイルadsenseを導入した場合、adsenseのソースもPHPを選ぶことになると思います。

しかし、場合によっては以下のようなエラーが発生することがあります。

HP Fatal error: Call to undefined function read_global() in hoge/hoge.php on line xx

まずエラー内容は、「read_globalという関数は定義されてないよ!」と言っています。
しかし、詳細を見ると、下のほうにきっちり function read_global…と定義があります。
結局、read_global()の呼び出しよりもうしろに関数定義があることが原因です。

<<解決方法>>

read_global の関数定義(function read_global..の部分)をadsenseのPHPコードの先頭に移動させましょう。
他の関数についても、PHPコードの後方で定義されているため、同じエラーが起こる可能性が高いです。

ですので、PHPコードの最後のほうにある、function read_global() から function google_get_ad_url()までをまとめて先頭にカットアンドペーストしましょう。

これですっきり解決します。

12 月 10

先日携帯サイトで、softbankからアクセスるると「携帯電話でアクセスしてください」と表示される旨、連絡がありました。

ログを調べていると機種は913SHでした。

会員制の登録サイトで個体識別番号を取得しているのですが、今回のユーザエージェントは

SoftBank/1.0/913SH/SHJ001 Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1

となっており、どうもPC用のブラウザで見たのではないかと推測しています。

今まであまり考えてませんでしたが、フルブラウザをどう扱うか、なかなか考え物です。

というか、コンテンツ発展のため3キャリアでいろいろ足並みそろえてほしいです。ほんとに。

 

※また、ディズニーモバイルですが今までのPHPスクリプトでメールを送ると文字化けするみたいです。

こちらについて対処法をご存知の方はおしえてください!!

12 月 2

マーキーで無限回、テキストが流れるようにします。

多分これで動くはず。

機種によってはダメと思います。

$agent = $_SERVER['HTTP_USER_AGENT'];
if(ereg(”^DoCoMo”, $agent)){
 $marq = ‘<marquee bgcolor=”#faf5a1″ loop=”0″>ループ文字</marquee>’;
}else if(ereg(”^J-PHONE|^Vodafone|^SoftBank”, $agent)){
 $marq = ‘<marquee bgcolor=”#faf5a1″ loop=”0″>ループ文字!</marquee>’;
}else if(ereg(”^UP.Browser|^KDDI”, $agent)){
 $marq = ‘<marquee bgcolor=”#faf5a1″ loop=”-1″>ループ文字!</marquee>’;
}else{
 echo “携帯電話でアクセスしてください”;
 exit();
}

© PHPress since 2008