2010年4月23日現在、Googleからはこんなコードを紹介される。
んで、$_SERVER["HTTP_REFERER"]が無かったりすると、
という感じになる。
まあ、そうだよね。
なので、こんな感じにしておいてあげる。
コード見た感じでも2009年からメンテナンスされてないみたいだし、大丈夫なんだろうか。
これも日本独自の携帯事情からなのかしら。
謎。
<?php
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = "XX-0000000-0";
$GA_PIXEL = "/ga.php";
function googleAnalyticsGetImageUrl() {
global $GA_ACCOUNT, $GA_PIXEL;
$url = "";
$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("&", "&", $url);
}
?>んで、$_SERVER["HTTP_REFERER"]が無かったりすると、
Notice: Undefined index: HTTP_REFERER...という感じになる。
まあ、そうだよね。
なので、こんな感じにしておいてあげる。
<?php
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = "XX-0000000-0";
$GA_PIXEL = "/ga.php";
function googleAnalyticsGetImageUrl() {
global $GA_ACCOUNT, $GA_PIXEL;
$url = "";
$url .= $GA_PIXEL . "?";
$url .= "utmac=" . $GA_ACCOUNT;
$url .= "&utmn=" . rand(0, 0x7fffffff);
- $referer = $_SERVER["HTTP_REFERER"];
- $query = $_SERVER["QUERY_STRING"];
- $path = $_SERVER["REQUEST_URI"];
+ $referer = isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '';
+ $query = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : '';
+ $path = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : '';
if (empty($referer)) {
$referer = "-";
}
$url .= "&utmr=" . urlencode($referer);
if (!empty($path)) {
$url .= "&utmp=" . urlencode($path);
}
$url .= "&guid=ON";
return str_replace("&", "&", $url);
}
?>コード見た感じでも2009年からメンテナンスされてないみたいだし、大丈夫なんだろうか。
これも日本独自の携帯事情からなのかしら。
謎。