Eigene Fehlerseiten: Aufruferfolgt zu oft, aber unsichtbar!!

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Dominican-Dreams
Mitglied
Beiträge: 63
Registriert: 15.08.2003 18:38

Beitrag von Dominican-Dreams »

Den Fehler habe ich jetzt anscheinend gefunden.

Dabei hatte ich eine Datei von einer anderen Datei in einem anderen Verzeichnis aufrufen lassen. Dadurch war der Pfad des Aufrufs nicht richtig.

Problembehebung:
Habe die Datei nun mit dem vollständigen Pfad aufrufen lassen und nun scheint es zu funktionieren!

Ich werde mal die Statistiken weiter im Auge behalten!
Danke für Eure Hilfe
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

hi

und wie hast du überhaupt rausbekommen um welche datei es sich handelt ?

markus
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Folgendes sollte eigentlich funktionieren um den Error mitloggen... Habs aber net getestet. Einfach mal den Quelltext GANZ AN DEN ANFANG von der error.php setzen:

Code: Alles auswählen

<?
// LOG Error.php by www.boegesoft.de
// KEINE GARANTIE, KEINE HAFTUNG, ALLES UNGETESTET ! 
// Lizenz: Freeware

$hosturl = 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$referer = (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '');

@mysql_connect("localhost","mysqluser","mysqlpasswort") or die ("System Failed (1)");
@mysql_select_db("mysqldatabase") or die ("System Failed (2)");

$sql = "INSERT INTO errorlog (hosturl,referer,datetime) VALUES ('".mysql_escape_string($hosturl)."','".mysql_escape_string($referer)."',".date('U').")";
$result = mysql_query($sql) or die ("Could not Insert: <br><br>".$result."<br><br>".$sql);

?>
Folgenden SQL Befehl ausführen zum erzeugen der Tabelle.

Code: Alles auswählen

CREATE TABLE `errorlog` (
  `Id` mediumint(8) NOT NULL auto_increment,
  `hosturl` varchar(255) default NULL,
  `referer` varchar(255) default NULL,
  `datetime` int(11) default NULL,
  PRIMARY KEY  (`Id`)
) TYPE=MyISAM;
Folgende Datei sollte die LOGs dann anzeigen:

Code: Alles auswählen

<?
// VIEW error LOG by www.boegesoft.de
// KEINE GARANTIE, KEINE HAFTUNG, ALLES UNGETESTET ! 
// Lizenz: Freeware

@mysql_connect("localhost","mysqluser","mysqlpasswort") or die ("System Failed (1)");
@mysql_select_db("mysqldatabase") or die ("System Failed (2)");


$sql = "SELECT  * FROM errorlog";
echo '<table border="1"><tr><td>Zeit</td><td>Url</td><td>Referer</td></tr>';
    while($row = mysql_fetch_object($result))
      {
      echo '<tr>';
      echo '<td><nobr>'.date('d.m.Y H:i:s',$row->datetime).'</nobr></td>';
      echo '<td>'.$row->hosturl.'</td>';
      echo '<td>'.$row->referer.'</td>';
      echo '</tr>';
      }
echo '</table>';
?>
Ich würde mich über Testberichte freuen...

Grüße
Dennis
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

hallo dennis ....
vielen dank .... bin schon dabei zu testen ...

kurzer bericht ....

error404 php ergänzt ...

Code: Alles auswählen

<?php
// LOG Error.php by www.boegesoft.de 
// KEINE GARANTIE, KEINE HAFTUNG, ALLES UNGETESTET ! 
// Lizenz: Freeware 

$hosturl = 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; 
$referer = (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : ''); 

@mysql_connect("localhost","mysqluser","mysqlpasswort") or die ("System Failed (1)"); 
@mysql_select_db("mysqldatabase") or die ("System Failed (2)"); 

$sql = "INSERT INTO errorlog (hosturl,referer,datetime) VALUES ('".mysql_escape_string($hosturl)."','".mysql_escape_string($referer)."',".date('U').")"; 
$result = mysql_query($sql) or die ("Could not Insert: <br><br>".$result."<br><br>".$sql); 


/***************************************************************************
 *                               error404.php
 *                            ------------------
 *   begin                : Saturday, Jan 17, 2004
 *   copyright            : (C) 2004 AWSW
 *   url                  : http://www.awsw.de
 *
 *   $Id: error404.php,v 1.00 2004/01/17 12:00:00 AWSW Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'exten
so richtig ?

sql ausgeführt ...

errorlog.php angelegt und aufgerufen ....

noch leer ....

jetzt mach ich mich ans "durch das forum klicken" :-)


markus
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

hi dennis ....

jetzt halt mich nicht für verrückt ... :-)

ich hab das teil wie gesagt eingebaut ....
die errorlog.php angepasst mit datenbank, user, etc ...

und ob du es glaubst oder nicht .... in der statistik zählt die error404.php
nicht mehr .... der counter bleibt stehen .... und sonst ging er schon alleine beim aktualisieren immer um 1 hoch .....

hast du dafür eine erklärung ?

markus
Dominican-Dreams
Mitglied
Beiträge: 63
Registriert: 15.08.2003 18:38

Beitrag von Dominican-Dreams »

Hi Marcus67,

ich habe alle Statistiken, welche vom Server erzeugt werden sortiert und gefiltert. Danach habe ich mir nur die Fehlermeldungen vorgenommen und mir die Referer angesehen. Da habe ich dann die Stellen in den Dokumenten gesucht, wo diese Dateien gestartet werden.

Es war eigentlich ganz einfach nur etwas aufwendig von der Zeit her.

Derzeit habe ich nur noch ganz wenige Zugriffe auf die Fehlerdatei. Ich denke das ist ganz normal.

Ich werde das jetzt mal einige Tage laufen lassen und mir dann wieder die Statistiken vornehmen!

Viel Glück bei Dir!

PS: Ich habe mich nur gewundert, dass die Datei aufgerufen wird, obwohl die Pfadangabe falsch war und nie die Fehlerseite sichtbar auf den BIldschirm dargestellt wurde!
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Hallo

Die Fehlerdatei wird z.B. auch aufgerufen, wenn Du nen Image falsch verlinkt hast.

Geb doch z.B. mal www.meinedomain.de/forum/ichbrauchenenerror.php ein - Jetzt müßte ja Deine Fehlerseite kommen.

Und dann sollte der Code auch was mitloggen. Ist das der Fall?

Grüße
Dennis
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

hi dennis ...

nein ... hab ich so gemacht ... und es kommt die error404 seite ...

aber in der errorlog.php steht nichts drin .... nur die spaltenüberschriften ...

aber wie gesagt, seit ich deinen code so wie du gepostet in die dateien eingetragen habe, habe ich keinen einzigen error mehr ....

und das ist mir irgendwie zu hoch .... und ich hab wirklch nichts an den dateien verändert und er hat immer schön beim aktualisiren der index.php die error404.php in der statistik hochgezählt ...

ich hab da keine erklärung für ....

markus
Antworten

Zurück zu „Coding & Technik“