Seite 1 von 1

PHP Error Skript tut nicht mehr

Verfasst: Fr Mär 24, 2006 5:08 pm
von Chris
Hallo zusammen,

Seite heute morgen tut mein Skript, das mir bei auftreten eines HTTP 404 Fehlers eine Mail schickt, nicht mehr.

Die Email kommt zwar noch an, aber es werden weder der Fehler uebergeben, noch wird die betreffende Datei uebermittelt:

Ich vermute, dass es mit register-globals zu tun hat.

Kann mir jemand weiterhelfen? Die Fehlermeldung habe ich mittlerweile mit $_GET['error'] in den Griff bekommen. Der Rest funktioniert aber immer noch nicht (Datei, Referrer, etc.)

In der .htaccess ist die Datei als Error-Dokument fuer einen 404er Error definiert:

Aufgerufen wird das Skript mit /error.php?error=404

Danke im Voraus.

Gruss
Chris

Code: Alles auswählen

<?
// Da $REMOTE_HOST meistens nicht geht, dieses kleine Script:
// IP bestimmen
$ip = $_SERVER['REMOTE_ADDR'];
// IP auflösen und Host bestimmen
$fullhost = gethostbyaddr($ip);

$mailto = "meine@emailadresse"; // deine eMail-Adresse
$subject = "Fehlermeldung von http://meine-domain.de- HTTP $error !!";
$message .= "Fehlzugriff auf http://meine-domain.de : Hier sind die Daten:\n\n";
$message .= "Verwendeter Browser des Users:  $HTTP_USER_AGENT\n";
$message .= "IP-Adresse des Users:  $REMOTE_ADDR\n";
$message .= "Host des Users:  $fullhost\n";
$message .= "Adresse der Datei die angefordert wurde:  $REQUEST_URI\n";
$message .= "Adresse die auf diese Datei verweist:  $HTTP_REFERER\n";
$header .= "From: info@meine-domain.de\n";
$header .= "Reply-To: info@meine-domain.de\n";
$header .= "X-Mailer: PHP";
mail ("$mailto", "$subject", "$message","$header");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Error <?php echo $error ?></title>
</head>
<body>

<B>
<CENTER>
[an error occurred while processing this directive]
<br>
<br>
<FONT SIZE=+2>
Error <?php echo $error ?>
<br>
<br>
This URL is invalid!</FONT>
<br>
<br>
The webmaster has been notified by email.
<br>
<br>
Please continue and <a href="javascript:history.back()">go back</a>
<br>
<br>
[an error occurred while processing this directive]
</center>
</B>
</body>
</html>

Verfasst: Fr Mär 24, 2006 5:22 pm
von Support
Hallo,

wo liegt das Script genau? Können Sie uns bitte eine Email mit Ihren Problem und der Kundennummer an info@hosterplus.de senden.

Sollten Sie noch Fragen haben, stehen wir Ihnen jederzeit gerne zur Verfügung.

Mit freundlichen Grüßen - Das Team von HosterPlus.de

Verfasst: Fr Mär 24, 2006 5:30 pm
von Chris
Email ist unterwegs.

UPDATE: Problem geloest

Die Variablen muessen mit der $SERVER Funktion aufgeloest werden

Code: Alles auswählen

$fehler = $_GET['error'];
$ua = $_SERVER['HTTP_USER_AGENT'];
$requrl = $_SERVER['REQUEST_URI'];
$ref = $_SERVER['$HTTP_REFERER'];
Ersetzen der entsprechenden Variablen im Skript erzielt den gewuenschten Effekt.

Gruss
Chris

Verfasst: Sa Mär 25, 2006 10:05 am
von Support
Chris hat geschrieben:Email ist unterwegs.

UPDATE: Problem geloest

Die Variablen muessen mit der $SERVER Funktion aufgeloest werden

Code: Alles auswählen

$fehler = $_GET['error'];
$ua = $_SERVER['HTTP_USER_AGENT'];
$requrl = $_SERVER['REQUEST_URI'];
$ref = $_SERVER['$HTTP_REFERER'];
Ersetzen der entsprechenden Variablen im Skript erzielt den gewuenschten Effekt.

Gruss
Chris
Hallo Chris,

das Problem lag auch zum teil an der register_globals, da diese noch auf off war. Die register_globals haben wir auf On gestellt und dann sollte die $Get übergabe auch wieder ohne Probleme gehen.


Sollten Sie noch Fragen haben, stehen wir Ihnen jederzeit gerne zur Verfügung.

Mit freundlichen Grüssen - Das Team von HosterPlus.de