Hi!
I am currently trying to change my tracking api from JS to PHP. JS worked just fine, but for various reasons, I want to do it in PHP. Here’s the code I’m using:
function trackvisit () {
$siteid = 1;
$pwurl= "http://piwik.example.de/";
$cookiedom=".example.de";
$pwtoken = 'xxxxxxxx';
$ssl = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? true:false;
$sp = strtolower($_SERVER['SERVER_PROTOCOL']);
$protocol = substr($sp, 0, strpos($sp, '/')) . (($ssl) ? 's' : '');
$port = $_SERVER['SERVER_PORT'];
$port = ((!$ssl && $port=='80') || ($ssl && $port=='443')) ? '' : ':'.$port;
$thisurl = urldecode($protocol.'://'.$_SERVER['HTTP_HOST'].$port.$_SERVER['REQUEST_URI']);
require_once "includes/PiwikTracker.php";
PiwikTracker::$URL = $pwurl;
$pwtracker = new PiwikTracker( $idSite = $siteid, $pwurl);
$pwtracker->setTokenAuth($pwtoken);
$pwtracker->enableCookies($cookiedom,'/');
$pwtracker->setVisitorId( $pwtracker->getVisitorId());
$pwtracker->setUrl($url=$thisurl);
$pwtracker->setIp($_SERVER['REMOTE_ADDR']);
if ($_SERVER['HTTP_REFERER']) $pwtracker->setUrlReferrer($_SERVER['HTTP_REFERER']);
if ($_SERVER['HTTP_ACCEPT_LANGUAGE']) $pwtracker->setBrowserLanguage($_SERVER['HTTP_ACCEPT_LANGUAGE']);
if ($_SERVER['HTTP_USER_AGENT']) $pwtracker->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$pwtracker->setPageCharset("iso8859-1");
if ($userdata['session_logged_in']) $pwtracker->setCustomVariable( 1, 'Username', $userdata['username']);
$pwtracker->setGenerationTime(round((microtime(TRUE)-$_SERVER['REQUEST_TIME_FLOAT']), 4));
if ($piwik_goal != 0) $pwtracker->doTrackGoal($piwik_goal);
$pwtracker->doTrackPageView($page_title);
}
trackvisit();
The site to track would be www.example.de in this case. All this works fine so far BUT:
Each and every tracked page shows up with a new, unique VisitID in Piwik. It doesn’t matter if I omit enableCookies() and/or set/getVisitorId() - the result is the same in all cases. Neither the cookies nor the heuristics seem to work.
I’m usinf the PiwikTracker-php from the current release I’m running.
What am I doing wrong?
Mike