Willkommen Gast. Bitte Einloggen oder Registrieren
 
Sprache wählen:
 
 
Statistik Version 20 online.

  ÜbersichtHilfeSuchenEinloggenRegistrieren  
 
Seitenindex umschalten Seiten: 1
Thema versenden Drucken
track.php - Parameter testen (Gelesen: 12084 mal)
hr3
Global Moderator
*****
Offline


Es gibt nichts Gutes/
außer: Man tut es. E.Kästner

Beiträge: 1126
Germany
Geschlecht: male
track.php - Parameter testen
14.09.10 um 11:43:28
 
Gerade bei der Erstinstallation gibt es häufig Anlaufschwierigkeiten mit der Grundeinstellung, sodass die Statistik nicht aufzeichnet.

Wenn die Prüfungen laut sysinfo.php fehlerfrei sind, alle Einstellungen nach besten Wissen vorgenommen wurden und es dennoch nicht funktioniert, kann diese kleine Testroutine hoffentlich weiter helfen Fehler selber zu erkennen und abzustellen, bzw. wenn auch das nicht gelingt, dem Support hilfreiche Hinweise zu geben.

Den folgenden Code z.B. als track_parm_check.php im Statistikverzeichnis (in dem auch track.php steht) ablegen und die Seite aufrufen.

Um die Funktion ggf. zu verbessern oder möglicherweise in den Standard zu übernehmen bitte ich jeden um Rückmeldung über die Einsatzhäufigkeit, Erfahrungen damit und selbstverständlich auch Anregungen dazu bzw. Probleme dabei. Nur so kann dieses Forum wachsen und ggf. später andere von deinen Erfahrungen profitieren, so wie hoffentlich du von den Erfahrungen der Leute, die vor dir ähnliche Probleme hatten.

Code:
<?php    // 20.09.2010
include('config/config.php');
$f=0; define('_N',"\n"); define('_BRN','<br>'._N);

echo '<b><pre>$script_domain:    '.$script_domain.'</pre></b>'._N;
if (substr($script_domain,0,7)!='http://') {display_error($a.'beginnt nicht mit "http://"');}
if (substr_count($script_domain,'/')!=2) {display_error($a.'Anzahl "/"');}
if ((substr($script_domain,7)!=$_SERVER['HTTP_HOST'])&&(substr($script_domain,7)!='www.'.$_SERVER['HTTP_HOST'])) {display_error($a.'Name ungleich "'.$_SERVER["HTTP_HOST"].'"');}
checklink($script_domain);

echo '</font><b><pre>$script_path:      '.$script_path.'</pre></b>'._N;
if (substr(dirname($_SERVER['SCRIPT_NAME']),1).substr(dirname($_SERVER['SCRIPT_NAME']),0,1)!=$script_path) {display_error($a.'fehlerhaft');}
checklink($script_domain.'/'.$script_path);

echo '</font><b><pre>$exception_domain: ';print_r($exception_domain);echo '</pre></b>'._N;
foreach ($exception_domain as $value) {checklink($value);}
echo '<b><font color="'; if ($f==0) {echo 'green';} else {echo 'red';} echo '">'.$f.' Fehler festgestellt!</font></b>'._BRN;

echo '<pre><b>JavaScript & Image-Code</b>
&lt;script type="text/javascript" src="'.$script_domain.'/'.$script_path.'track.php?mode=js">&lt;/script&gt;
&lt;noscript&gt;&lt;img src="'.$script_domain.'/'.$script_path.'track.php?mode=img" border="0" alt="" width="1" height="1"&gt;&lt;/noscript&gt;</pre>'._N;

$x=$_SERVER['HTTP_HOST']; if (substr($x,0,4)=='www.') {$x=substr($x,4);}
if (substr_count($x,'.')>1) {$x1=substr($x,strpos($x,'.')+1);} else {$x1=$x;}

if ((in_array($x,$exception_domain))||(in_array($x1,$exception_domain))) {echo
'</pre><img src="'.$script_domain.'/'.$script_path.'track.php?mode=img&ref=Test&uuml;bergabe img" border="0" alt="" width="0" height="0">
<script type="text/javascript" src="'.$script_domain.'/'.$script_path.'track.php?mode=js"></script>'._BRN.
'<b><script type="text/javascript">document.write("JavaScript ist aktiviert. Es sollten 3 S&auml;tze geschrieben sein.");</script>
<noscript>JavaScript ist deaktiviert. Es sollten 2 S&auml;tze geschrieben sein.</noscript>
</b><a href="last_hits.php"> Statistik auf Eintr&auml;ge &uuml;berpr&uuml;fen!</a>'._BRN;
 $_GET['mode']='img';
 $_GET['ref']='Testuebergabe include';
 $_SERVER['HTTP_REFERER']='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; // site_name
 error_reporting(0);
 echo '<hr><font color="gray">alle folgenden Meldungen k&ouml;nnen ignoriert werden.'._BRN;
 include('track.php'); 
} else {echo '<b><font color="red">Keine Test&uuml;bergabe m&ouml;glich, da aktuelle Domain nicht unter $exception_domain verzeichnet ist.</font></b>';}

function display_error($x) {global $f; $f++; echo "<font color='red'>&nbsp; - $x.</font>"._BRN;}
function checklink($loc) {global $a; $x=head($loc); if($x!=200) {display_error("$x $loc ist zur Zeit nicht verf&uuml;gbar");}}

function head($location) {
 $location=trim(preg_replace("/^http:\/\//i","",$location));
 $c=strpos($location,"/");
 if(!$c) {$host=$location; $pfad="/";} else {$host = substr($location,0,$c); $pfad = substr($location,$c);}
 $fp = fsockopen($host, 80, &$errno, &$errstr, 5);
 if($fp) {
  fputs($fp,"HEAD $pfad HTTP/1.0\r\n");
  fputs($fp,"Host: $host\r\n");
  fputs($fp,"User-Agent: PHP/StatusCheck V0.2\r\n");
  fputs($fp,"\r\n");
  while(!feof($fp))
   {$c=fgets($fp,133);
   if(strlen($c)==2) break;
   if($verbose) echo htmlentities($c)."<br>\n";
   if(preg_match("/^HTTP.*? ([0-9]{3})/i",$c,$match))
   $status=0+$match[1];
   if(preg_match("/^Location: (.*)$/i",$c,$match))
   $newLocation=$match[1];}
  if(($status==302 || $status==301) && $newLocation) return(head($newLocation)); else return ($status);
  fclose($fp);} else {return 0;}}
?> 



Führt zu folgender (Beispiel-)Anzeige ggf. mit Fehlerhinweisen.

Code:
$script_domain:    http://www.xxx.de

$script_path:      stat/

$exception_domain: Array
(
    [0] => xxx.de
    [1] => co.de
)

0 Fehler festgestellt!

JavaScript & Image-Code
<script type="text/javascript" src="http://www.xxx/stat/track.php?mode=js"></script>
<noscript><img src="http://www.xxx.de/stat/track.php?mode=img" border="0" alt="" width="1" height="1"></noscript>

JavaScript ist aktiviert. Es sollten 3 Sätze geschrieben sein. Statistik auf Einträge überprüfen!
_________________________________________________________________________________________________
alle folgenden Meldungen können ignoriert werden.
GIF89a���... 

Zum Seitenanfang
« Zuletzt geändert: 20.09.10 um 13:26:46 von hr3 »  
 
IP gespeichert
 
Reimar
Administrator
*****
Offline



Beiträge: 1982
Geschlecht: male
Re: track.php - Parameter testen
Antwort #1 - 01.11.10 um 18:04:55
 
Hallo hr3,

wir haben uns Deinem "Support-Script" angenommen und wollen dies in die Statistik mit einbauen. Dazu haben wir aber noch eine Frage. Welche Methode hälst Du für sinnvoll ?:

1. Das Script wird mit ausgeliefert bei einer Installation. Durch eine Freischaltung innerhalb des Admincenters kann es dann auch von extern aufgerufen werden

2. Das Script wird als separater Download angeboten.

Viele Grüße
Reimar und Holger
Zum Seitenanfang
 
 
IP gespeichert
 
hr3
Global Moderator
*****
Offline


Es gibt nichts Gutes/
außer: Man tut es. E.Kästner

Beiträge: 1126
Germany
Geschlecht: male
Re: track.php - Parameter testen
Antwort #2 - 01.11.10 um 19:11:43
 
Ich würde es gut finden, wenn es generell mit ausgeliefert wird und von Admin-Center ausgeführt werden kann. Dann können neue Anwender diese Art von Problem hoffentlich selber besser lösen.
Ein externer Aufruf muß nicht unbedingt möglich sein. Ich brauche es nicht um solche Fehler bei fremden Installationen zu erkennen. Dafür reicht sysinfo.php und falls es doch mehr seine sollte, die entsprechende Aussage des Anwenders zum Funktionstest.
Zum Seitenanfang
 
 
IP gespeichert
 
hr3
Global Moderator
*****
Offline


Es gibt nichts Gutes/
außer: Man tut es. E.Kästner

Beiträge: 1126
Germany
Geschlecht: male
Re: track.php - Parameter testen
Antwort #3 - 07.01.11 um 11:02:39
 
Ab 4.4.00 im Standard.
Zum Seitenanfang
 
 
IP gespeichert
 
Seitenindex umschalten Seiten: 1
Thema versenden Drucken