P.php
Aus Melin DokuWiki
Script für einen Webserver zur Zählung von Klicks und Öffnungen
[bearbeiten] Dateien und Downloads
Das Script kann in der aktuellen Version aus dem SVN (Subversion) Repository geladen werden:
p.php, Öffnungsrate und Klicks messen in PHP
http://www.melinupdate.de/svn/melin3/melin3.stable/htdocs/melin/php/p.php
j.jsp, Öffnungsrate und Klicks messen in Java
http://www.melinupdate.de/svn/melin3/melin3.stable/htdocs/melin/j.jsp
[bearbeiten] Verwandte Module
- p.asp ASP-Version des KlickTrackers
- j.jsp JSP-Version des KlickTrackers
- p.pl Perl-Version des KlickTrackers
- p.php PHP-Version des KlickTrackers
[bearbeiten] Code p.php (Stand 2007)
Für Produktivumgebungen sollte immer der aktuelle Stand aus dem Subversion-Repository verwendet werden.
<?php
//
// P.PHP - Sample file to redirect users ("Clicktrack")
//
// ---------------------------------------------------------------------
// MMDB Database
$MMDB_SERVER = "127.0.0.1";
$MMDB_LOGIN = "root";
$MMDB_PASSWORD = "";
$MMDB_DB = "melin_system";
//
// Failover link - In case someone fools around
// Put this to your homepage or a special redirect "welcome, something went wrong" page
//
$link = "http://www.melin.de/failed.html";
// ---------------------------------------------------------------------
// FX SECTON - DO NOT CHANGE
// ---------------------------------------------------------------------
// The magic Seb transformation to make code cooler and life easier
// board.php?board=110&SESSION=123 -> $board=110 and $SESSION=123
$xmlstring = "";
$counter = 0;
$PHP_SELF = $_SERVER['PHP_SELF'];
while (list($key,$val) = each($HTTP_POST_VARS)) {
${$key} = $val;
}
while (list($key,$val) = each($HTTP_GET_VARS)) {
${$key} = $val;
}
$dblink = mysql_pconnect ($MMDB_SERVER , $MMDB_LOGIN , $MMDB_PASSWORD);
$dblink2 = mysql_pconnect ($MMDB_SERVER , $MMDB_LOGIN , $MMDB_PASSWORD);
mysql_select_db ($MMDB_DB);
if ($ID > 0) {
$query = "SELECT * FROM LOG_LINKREF WHERE ID = '$ID'";
if ($result =mysql_query ($query ,$dblink )) {
$link = "http:" . mysql_result($result, 0, "TARGET");
$email = "";
$query2 = "SELECT * FROM SC_DETAILS WHERE SYSTEM_CUSTOMER_ID = '" . mysql_result($result, 0, "SYSTEM_CUSTOMER_ID") ."'";
if ($result2 =mysql_query ($query2 ,$dblink2 )) {
$email = mysql_result($result2, 0, "EMAIL");
}
// Das war ein Klick - Jetzt Vermerk in Datenbank
$curtime = time();
$result = mysql_query("INSERT INTO LOG_CLICKTRACK ( ID , LOG_LINKREF_ID , SYSTEM_CUSTOMER_ID , LINK , " .
"LOG_MAILING_ID , CREATED , NEWSLETTER_ID , COMPLETED , EMAIL , TARGET ) ".
"VALUES ('$curtime', '$ID', '" . mysql_result($result, 0, "SYSTEM_CUSTOMER_ID") .
"', '$ID', '" . mysql_result($result, 0, "MAILING_ID") .
"', '$curtime', '" . mysql_result($result, 0, "MAILING_ID") . "' , '1', '$email' , '$link')", $dblink);
}
}
//
// Sonderfall - Blindpixel Oeffnung
//
if ($OC > 0) {
$email = "";
$query2 = "SELECT * FROM SC_DETAILS WHERE SYSTEM_CUSTOMER_ID = '$OC'";
if ($result2 =mysql_query ($query2 ,$dblink2 )) {
if ($row = mysql_fetch_row($result2)) {
$email = mysql_result($result2, 0, "EMAIL");
}
}
// Das war ein Klick - Jetzt Vermerk in Datenbank
$curtime = time();
$result = mysql_query("INSERT INTO LOG_CLICKTRACK ( ID , LOG_LINKREF_ID , SYSTEM_CUSTOMER_ID , LINK , " .
"LOG_MAILING_ID , CREATED , NEWSLETTER_ID , COMPLETED , EMAIL , TARGET ) ".
"VALUES ('$curtime', '0', '$OC', ' ', '$ML', '$curtime', '$NL' , '1', '$email' , 'OPEN')", $dblink);
header('Content-type: image/gif');
$cgif = chr(71) . chr(73) . chr(70) . chr(56) . chr(57) . chr(97) . chr(1) . chr(0) .
chr(1) . chr(0) . chr(128) . chr(0) . chr(0) . chr(255) . chr(255) . chr(255) .
chr(0) . chr(0) . chr(0) . chr(33) . chr(249) . chr(4) . chr(1) . chr(0) .
chr(0) . chr(0) . chr(0) . chr(44) . chr(0) . chr(0) . chr(0) . chr(0) . chr(1) .
chr(0) . chr(1) . chr(0) . chr(0) . chr(2) . chr(2) . chr(68) . chr(1) . chr(0) .
chr(59) . chr(10);
print $cgif;
exit;
} // OPEN RATE TRACKER
header('Location: '. $link);
?>
